c++ - 将文件作为参数传递给 Visual Studio

标签 c++ visual-studio-2010 file-io

我尝试在 VS2010 中调试程序。在 Windows PowerShell 中,我键入 ./Nbody.exe ./config.txt。但是,当我在 Property Manager 窗口的命令参数表单调试部分输入 .\config.txt 或其他形式时,我的程序似乎无法找到该文件。事实上,我的这部分代码响应:

ifstream CSVfile(CSVFileName);

if (CSVfile == NULL) {
    cout << "ERROR: Cannot Open CSV file" << endl;
    exit(1);
}

最佳答案

Visual studio 计算从 working dir 路径开始的相对路径。因此,您必须使用 visual studio 变量作为 $(ProjectDir) 来复合文件的路径。

类似于:$(ProjectDir)\config.txt,否则您必须设置相对于 working dir 路径的路径。

假设您的结构是这样的:

project_name
    + project_name
    | project_name.sln
    | debug
        | project_name.exe
        | config.txt
    + ipch 

并且您有 .\project_name\project_name 作为工作目录。

您在项目配置中输入的用于调试的路径必须相对于工作目录:

..\debug\config.txt

更新

正如@Goku 在他的(我假设 Goku 是一个“他”,:))评论中所述:

For VS2017, $(ProjectDir) already contained a '\' concatenated on the directory name.

关于c++ - 将文件作为参数传递给 Visual Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21881185/

相关文章:

c++ - 从 VCL 将 delphi 中的属性公开给 C++

c - 如何在二叉树中搜索与给定值 x 的匹配项?

unit-testing - 如何忽略代码覆盖率数据中生成的代码

c# - 如何使用 ReSharper 获取 VisualStudio 2010 以保留 '<%:' 、内容和 '%>' 之间的空间?

java - Java中从URL下载文件的方法

java - 如何从 Java 中的相对路径运行可执行文件

c++ - 编译器优化如何加快简单操作之间的时间?

c++ - C/C++ 位域字节顺序在实际实践中真的是一个问题吗?

c++ - 返回 vector<Foo> 或 shared_ptr<vector<Foo>>?

c++ - 我们可以减少现有文件的大小吗?