argv[] 未注册参数

Argv[] Not Registering Argument

本文关键字:注册 参数 argv      更新时间:2023-10-16

这是代码的摘录。

int main(int argc, char*argv[])
string s;
if (argc == 2)
    argv[1] == s;             //I tried this with and without brackets
else if (argc == 1){
    cout << "Enter a number." << endl;
    cin >> s;
    }
else
    {    
    cout << "Use only one argument" << endl;
    }
cout << s << endl;

但是,如果有一个参数(第一个条件),那么它总是 0。有人知道为什么吗?

此行

argv[1] == s;

应该是

s = argv[1];

当前代码使用 ==argv[1]与空字符串进行比较,并丢弃比较结果。看起来你在将第一个参数放入字符串s之后,所以你需要一个赋值。