Вот выдержка из кода.
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
, так что вам нужно назначение.
Других решений пока нет …