我在使用Visual C ++ Express 2010将命令行参数传递给我的程序时遇到了问题。我在调试中找到了命令参数并使用了以下输入,只是它们之间带有空格的术语。该文件位于我的项目文件夹中,带有.c源代码。
TestFile1.txt 2
当我在main下静态定义char指针时,程序运行正常。所以在这一点上我不确定问题是2010年还是代码。我还没有找到一种方法来编译和执行其他方式来测试命令行args。如果有人可以编译它,看看它是否适用于他们的系统,那就太好了。
#include <stdio.h>
#include <stdlib.h>
#define BUFFER_SIZE 256
int main(char *argv[])
{
//char *argv[] = { "program", "TestFile1.txt", "2" };
char buf[BUFFER_SIZE];
FILE *inFp;
printf("%s",argv[1]);
if ((inFp = fopen (argv[1], "r")) == NULL)
{
fprintf(stderr, "Can't open file\n");
exit(EXIT_FAILURE);
}
fclose(inFp);
return 0;
}
答案 0 :(得分:2)
它应该是int main(int argc, char *argv[])
除此之外,我还没有看到你的程序有任何其他问题。