Argv []没有注册参数

时间:2012-11-29 03:57:44

标签: c++ argv

以下是代码的摘录。

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.任何人都知道为什么?

1 个答案:

答案 0 :(得分:2)

这一行

argv[1] == s;

应该是

s = argv[1];

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