我正在尝试制作一个简单的 C++ 程序,它接受命令行参数并使用它们来定义两个整数。用户将键入'-f [number] -s [number]',这将分配 int f 等于 -f 之后的数字,而 int s 等于 -s 之后的数字。
目前,无论我使用什么数字作为参数,当我打印结果时,f 始终为 0,s 始终为 4196288。谁能给我一个关于这里发生了什么的提示?
#include <iostream>
#include <stdlib.h>
#include <sstream>
using namespace std;
int main(int argc, char* argv[]) {
int f, s;
if (argc < 5) {
cout << "USAGE: " << argv[0] << " -f <number> -s <number>" << endl;
return 0;
} else {
for (int i = 1; i < argc; i++) {
if (argv[i] == "-f") {
f = atoi(argv[i + 1]);
} else if (argv[i] == "-s") {
s = atoi(argv[i + 1]);
}
}
cout << f << endl;
cout << s << endl;
}
return 0;
}