我在使用 Visual C++ Express 2010 将命令行参数传递给我的程序时遇到问题。我发现命令参数正在调试并使用以下输入,它们之间只是带有空格的术语。该文件位于我的项目文件夹中,带有 .c 源代码。
测试文件1.txt 2
当我在 main 下静态定义 char 指针时,程序运行良好。所以在这一点上,我不确定问题出在 2010 还是代码上。我还没有想出以其他方式编译和执行来测试命令行参数的方法。如果有人可以编译它并查看它是否适用于他们的系统,那就太好了。
#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;
}