我正在尝试将我的文件作为命令行参数添加到Visual Studio中。我知道我的代码可以工作,因为当我使用fopen(“此处的整个路径”,"r")时,它会运行。然后,我将该文件添加为命令行参数,但没有得到这样的文件或目录。有什么想法吗?谢谢。
发布于 2009-11-17 16:39:23
你的文件路径有空格吗?如果是这样的话,你需要用引号把它括起来。
发布于 2009-11-17 17:14:43
您确定命令行参数处理正确吗?暂时将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'发布于 2009-11-17 16:40:47
您总是可以在Visual Studio中调试从命令行获得的文件名,然后您就知道出了什么问题。
https://stackoverflow.com/questions/1747386
复制相似问题