更改当前工作目录 VS13?

Change current working directory VS13?

本文关键字:VS13 当前工作      更新时间:2023-10-16

如本文所述,调试SDL程序时的工作目录相对于.vcproj而不是.exe(应该是IMO)

所以我想知道是否有我可以更改它,所以当我按 F5 时,路径将相对于.exe而不是 .vcproj? 我正在使用的当前(相对简单)解决方法是简单地打开文件夹并从那里启动程序,但我宁愿简单地按 F5。

对您的问题的天真回答是,您可以将调试配置属性中的"工作目录"选项设置为$(TargetDir)。默认设置为$(ProjectDir),默认情况下,项目目录不是输出可执行文件的位置。但是,我不建议您采用此选项,如下所述。

您正在尝试以错误的方式解决此问题。您的根本问题是您假设工作目录与包含可执行文件的目录相同。没有理由这样,你不应该依赖它。您知道这些文件与可执行文件位于同一目录中,因此您应该查看那里,而不是工作目录,而工作目录只是有时巧合地与可执行文件目录相同。

因此,与其依赖进程的调用程序来设置您喜欢的工作目录,不如让您的程序独立于工作目录。您声明您希望使用您知道其相对于可执行目录的位置的文件。所以有答案。使用包含可执行文件的目录作为基础,构造文件的完整路径。

如果需要找出可执行文件的位置,请调用GetModuleFileName()并去除文件名。剩下的是包含可执行文件的目录。将其与文件的相对路径相结合,您的代码现在独立于工作目录。