我最近正在为一个班级做一个项目,在传递命令行参数时遇到很多问题。我决定用我在 geeksforgeeks 网上找到的一个非常简单的代码进行测试,看看我是否可以让任何类型的命令行东西工作,但它仍然无法工作。它不会打印任何 argv 值,当我调试它时,它说 argc 是 1,尽管我输入了 4 个命令行参数。我几个小时以来一直试图在网上寻找这个问题的答案,但不知道发生了什么,尤其是在使用这个非常简单的代码时。我在下面附上了我正在测试的代码。它只打印出“您已输入 1 个参数:”我对编码相对较新,但很困惑。
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
cout << "You have entered " << argc
<< " arguments:" << "\n";
for (int i = 0; i < argc; ++i)
cout << argv[i] << "\n";
return 0;
}
我遇到了同样的问题 - argc 总是 1。我尝试了“调试”->“我的项目名称”“调试属性”(在底部)->“调试”->“命令参数”,并在那里设置我的参数,而不是“项目”->“属性”->“等等”。
这对我有用。我正在使用 VS2022 MFC 和 Win32(旧的 x86 程序)。希望这对某人有帮助。