应用程序在搜索文件时的外观?它在哪里创建?总是指定绝对路径是很现实的。例如。我尝试保存将在项目解决方案的本地bin中的Visual Studio 2010应用程序中使用的文本文件,但始终出现运行时错误。Windows应用程序中使用的文件的工作目录
1
A
回答
0
它通常是它被调用的文件夹。您可以使用以下方式找到它:_getcwd
:http://msdn.microsoft.com/en-us/library/sf98bd4y%28VS.80%29.aspx
0
如果使用相对路径,则将您提供的路径与进程的工作目录结合在一起。
保持对GUI进程的工作目录的控制是非常困难的。这是因为GUI过程往往以很多不同的方式开始。更重要的是,文件对话有改变工作目录的趋势。最后,工作目录在进程中的所有线程之间共享,并且可以由任何线程更改。有很多陷阱。
所以在一个GUI过程中,我建议你不要使用相对路径。或者,如果您使用相对路径,则在使用它们之前将它们转换为绝对路径。并根据明确定义的根路径执行转换。
除非您正在编写便携式应用程序,否则您不应该期望能够保存到包含可执行文件的目录。在现代系统上,可执行文件通常位于只读目录中。
如果要保存用户设置,请将它们保存在用户配置文件中的适当位置。另一方面,如果您要读取文件,而您从不修改,那么将它们与可执行文件一起存储是合理的。但即使在这种情况下,使用完整的绝对路径打开文件。通过将包含可执行文件的目录与文件的相对路径相结合来创建该路径。
因此,要总结,对你说:
这是很少的现实始终指定绝对路径。
但我不同意。我会反驳说,使用绝对路径往往是最好的选择。但是你不必硬编码绝对路径。您可以并应该在运行时创建它。
相关问题
- 1. Windows应用程序的工作文件应该写在哪里?
- 2. 使用库目录中的文件发布IOS应用程序
- 3. 如何使工作目录文件可用于WebStart应用程序?
- 4. windows中程序文件目录的用途是什么?
- 5. 从应用程序保存应用程序目录中的文件
- 6. Windows应用程序数据目录
- 7. 什么是Windows应用程序中的Google应用程序引擎sdk目录?
- 8. 使C++应用程序使用文件目录,而不是pwd
- 9. 写入应用程序文档目录中的目录错误
- 10. 从Windows 8.1中的解决方案目录访问MHT文件应用程序
- 11. 应用程序域之间的独立工作目录
- 12. 带命令行应用程序的MacOSX C++工作目录
- 13. Docker Golang应用程序的工作目录是什么?
- 14. 工作流程应用程序项目
- 15. 子目录中的Rails应用程序
- 16. iOS应用程序中的子目录
- 17. django消息文件在项目文件夹中工作,但在应用程序文件夹中不起作用
- 18. 古怪的应用程序文件的目录
- 19. 使用钛工作室的Windows系统中的IOS应用程序开发
- 20. Java移动文件并在Windows中应用目录的属性
- 21. 在Tomcat中的应用程序的上下文根目录中访问文件
- 22. 如何让我的zend应用程序作为域的子目录工作?
- 23. Windows应用程序中的WPF组件
- 24. 在Web应用程序中使用c#windows应用程序项目
- 25. 如何访问Windows应用程序包中的文件存储应用程序
- 26. Windows Phone中的地理位置HTML应用程序不工作
- 27. 制作Windows任务栏工具应用程序的工具包?
- 28. 使用AIR应用程序安装程序向应用程序存储目录添加新文件
- 29. 如何将文件目录中的文件复制到应用程序包?
- 30. 我该如何设置从我的Java应用程序启动的MacOS应用程序包的工作目录?
请定义“它被调用的文件夹”的含义。 – 2013-04-09 18:28:58
历史上,您调用该程序时所处的目录,即'%CD%'。现在,我相信这取决于程序的启动方式。例如,如果它使用链接启动,它通常是程序(.exe)所在的文件夹。但是,它可以在链接的属性中更改。虽然我不确定VC的默认设置是什么。 – mrks 2013-04-09 18:31:26
什么时候该进程改变工作目录? – 2013-04-09 18:32:55