我有一个使用 Visual Stuidos 构建的 C++ 程序。它必须从 .config 文件中读取一些变量。我注意到当我从 VS 运行程序时(即我打开 VS 解决方案并按下“不调试启动”按钮),它找不到 .config 文件,除非它位于“发布”或“调试”目录中。但是,我希望能够从 VS 解决方案运行程序,同时将 .config 文件与 .sln 文件保存在同一目录中。有没有办法可以将 .config 文件的路径设置到这个目录,也许在源代码的某个地方?
谢谢。
我有一个使用 Visual Stuidos 构建的 C++ 程序。它必须从 .config 文件中读取一些变量。我注意到当我从 VS 运行程序时(即我打开 VS 解决方案并按下“不调试启动”按钮),它找不到 .config 文件,除非它位于“发布”或“调试”目录中。但是,我希望能够从 VS 解决方案运行程序,同时将 .config 文件与 .sln 文件保存在同一目录中。有没有办法可以将 .config 文件的路径设置到这个目录,也许在源代码的某个地方?
谢谢。
您可以调用 GetModuleFileName 来获取 exe 文件的完整路径。从那里您可以删除最低级别(/debug 或 /release)以获取项目路径。
那应该可以满足您的要求,但是您所要求的并不是一个好方法。将您的配置文件放在您的 exe 目录中将在以后遇到非管理员用户权限的问题。可以通过调用 SHGetFolderPath 找到此类文件的推荐位置,您可以在其中为您的应用程序创建一个可访问的文件夹。
只需设置Project Properties|Debugging|Working Directory
为 $(SolutionDir)。或者你想要的任何目录。