我正在尝试在Visual Studio中添加我的文件作为命令行参数。我知道我的代码工作,因为当我使用fopen(“整个路径在这里”,“r”),它运行。然后我将该文件添加为命令行参数,而我没有这样的文件或目录。有什么想法吗?感谢。
答案 0 :(得分:4)
您的文件路径是否有空格?如果是这样,您需要将其括在引号中。
答案 1 :(得分:1)
您确定命令行参数是否正确处理?暂时用这个替换你的main():
int
main (int argc, char **argv)
{
int j;
for (j = 0; j < argc; ++j)
printf ("argv [%d] = '%s'\n", j, argv [j]);
return 0;
}
我的猜测是你有文件路径,里面有空格。那些必须在命令行上引用:
C:\> myprogram "c:\Documents and Settings\Administrator\My Documents\Test.dat"
如果没有引用,测试程序将输出:
argv [0] = 'myprogram.exe'
argv [1] = 'c:\Documents'
argv [2] = 'and'
argv [3] = 'Settings\Administrator\My'
argv [4] = 'Documents\Test.dat'
答案 2 :(得分:0)
您始终可以在Visual Studio中调试从命令行获取的文件名,然后您就知道出了什么问题。