命令行参数不适用于 Visual C++ Express 2010

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

我在使用 Visual C++ Express 2010 将命令行参数传递到程序时遇到问题。我发现命令参数正在调试并使用以下输入,只是术语之间有空格。该文件位于我的项目文件夹中,其中包含 .c 源代码。

TestFile1.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;
    }

最佳答案

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

关于命令行参数不适用于 Visual C++ Express 2010,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13443413/

相关文章:

bash - 在 bash 中使用其他引用中的 "$@"

testing - 在 go test 中处理命令行参数

shell - Zsh 上一个命令输出的特殊变量

在 C 中比较 ""和 ""

c - while 循环无条件退出 false

c - 为在 void 函数中创建的动态数组赋值不会在 main() 中返回相同的值

c++ - __thiscall 关键字的用途是什么?

c++ - C linux 代理服务器

c++ - wxWidgets (C++) 无法执行许多 wxDC.DrawPoint() 操作

c++ - 当我使用可变参数时,它适用于 int 和 double,但是当涉及到 float 时,就会出错