int main(int argc,char**argv)

Mur*_*ilo 2 c++

我是C++的初学者,我习惯用int main()编写代码,现在我正在使用:

int main(int argc, char **argv)

我不知道这行代码到底意味着什么.所以,我在网上查找了一些答案,我发现了这段代码:

std::cout << "Have " << argc << " arguments:" << std::endl;
    for (int i = 0; i < argc; ++i) {
        std::cout << argv[i] << std::endl;
    }
Run Code Online (Sandbox Code Playgroud)

这向我展示了我的论点.

我运行应用程序,控制台显示:

有1个参数:

C:\ Users\user\Documents\C++ Projects\Test\bin\Debug\Test.exe

然后它关闭了应用程序,因为在这个循环之后我有一个基于argc值的if else语句.

因此,如果argc与3不同则运行a exit(0).

我的问题是:

为什么我的论点只是我自己的应用程序位于调试路径上?

我怎样才能获得多个论点?

jh3*_*314 10

argc 是用于运行程序的参数数量

argv是一个char*参数数组

argv[0]是可执行文件的名称(在您的情况下,它是Test.exe)

argv[1] 是你传入的第一个参数(如果你传入任何参数).

因此,如果您运行您的程序Test.exe a b,那么argc将是3,并且内容argv将是:

argv[0]Test.exe

argv[1]a

argv[2]b