命令行参数不适用于visual c ++ express 2010

时间:2012-11-18 18:54:25

标签: c visual-c++ command-line-arguments

我在使用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;
    }

1 个答案:

答案 0 :(得分:2)

它应该是int main(int argc, char *argv[])除此之外,我还没有看到你的程序有任何其他问题。