C++ 将文件作为参数传递给visual studio
我尝试在VS2010中调试一个程序。在Windows PowerShell中,我键入C++ 将文件作为参数传递给visual studio,c++,visual-studio-2010,file-io,C++,Visual Studio 2010,File Io,我尝试在VS2010中调试一个程序。在Windows PowerShell中,我键入/Nbody.exe./config.txt。但是,当我在“属性管理器”窗口的“命令参数窗体调试”部分中输入\config.txt或其其他形式时,我的程序似乎找不到该文件。事实上,我的代码的这一部分响应: ifstream CSVfile(CSVFileName) if(CSVfile==NULL){ coutVisual studio计算从working dirpath开始的相对路径。因此,必须使用Visual
/Nbody.exe./config.txt
。但是,当我在“属性管理器”窗口的“命令参数窗体调试”部分中输入\config.txt
或其其他形式时,我的程序似乎找不到该文件。事实上,我的代码的这一部分响应:
ifstream CSVfile(CSVFileName)代码>
if(CSVfile==NULL){
coutVisual studio计算从working dir
path开始的相对路径。因此,必须使用Visual studio变量作为$(ProjectDir)
来合成文件的路径
类似于:$(ProjectDir)\config.txt
,否则必须设置相对于工作目录的路径
假设你的结构是这样的:
project_name
+ project_name
| project_name.sln
| debug
| project_name.exe
| config.txt
+ ipch
您有\project\u name\project\u name
作为工作目录
在项目配置中输入的调试路径必须与工作目录相对:
..\debug\config.txt
更新
正如@Goku在他的评论(我假设Goku是一个‘他’,:)中所说的那样:
对于VS2017,$(ProjectDir)
在目录名上已包含一个连接的“\”
请提供一个。说明明显的,但尝试提供完整路径。如果您更改exe位置但忘记复制txt,它可以保存您。输入。\config.txt假定文件位于工作目录中。默认工作目录为$(ProjectDir)。是否存在$(ProjectDir)\config.txt?我检查了它,sln文件位于“project name”目录,其中包含debug、ipch和“project name”目录。工作目录被设置为第二个“project name”目录!因此我应该返回包含.txt文件的debug文件夹。我想这是因为我正在编写一个CUDA程序。:)对于我(使用Visual studio 2017),我不需要$(ProjectDir)中的“\”\config.txt,因为$(ProjectDir)已包含在目录上连接的“\\”name@Goku你能告诉我这是VS2017的新功能吗?@RaydelMiranda不知道,由于“信息保障”小组的原因,我只能在这台机器上安装VS2017
..\debug\config.txt