几个小时前,我问过一个关于 C++ 命令行参数的类似问题。现在我有另一个问题,据我所知,命令行参数将像字符串一样保存在 argv 数组中。所以将主题与字符串进行比较应该是合乎逻辑的,但它不能按我想要的方式工作,看看这段代码:
#include <iostream>
using namespace std;
int main(int argc,char** argv)
{
if (argv[2]=="stack") cout << "right";
cout << argv[2];
return 0;
}
现在我将此命令传递给我编译的名为 zero.exe 的应用程序;
zero.exe stack
输出应该是“rightstack”,但是if
命令会跳过并且只会cout << argv[2];
执行,所以只有堆栈会显示在监视器上。它显示"stack"
已保存到argv[2]
中,因此if (argv[2]=="stack")
应该可以工作,但事实并非如此。哪里有问题?