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

Решение

Эта линия

argv[1] == s;

должно быть

s = argv[1];

Ваш текущий код сравнивается argv[1] в пустую строку, используя ==и отбрасывает результат сравнения. Похоже, что вы после получения первого аргумента в строке s, так что вам нужно назначение.

2

Другие решения

Других решений пока нет …