我想创建一个能够以格式读取命令行的程序: SET x =(表达式)< ---到处之间的空格
不使用字符串。我想在命令中使用cin并将其与可能值列表进行比较, 所以...
char a;
cin>>a;
if(a== 'SET'){
----
}
这显然不起作用,因为a是一个数组。 我以为我可以这样做(如果[0] =='S'),然后检查[1]为'E'等等,但我相信这是一种效率很低的方法吗?或者不是吗?
答案 0 :(得分:0)
对于您的示例,您可以使用std::string
std::string a;
cin >> a;
if (a.compare("SET"))
{
// do stuff
}
string::compare
将对完整字符串进行相等比较,而不是逐字符比较。
答案 1 :(得分:0)
您可以使用strcmp函数:
#include <iostream>
#include <cstring>
int main(int argc, char* argv[]) {
char * a;
std::cin >> a;
if (strcmp(a, "SET") == 0) {
std::cout << "check" << std::endl;
}
return 0;
}