从char读取命令行

时间:2014-04-10 22:30:22

标签: c++

我想创建一个能够以格式读取命令行的程序: SET x =(表达式)< ---到处之间的空格

不使用字符串。我想在命令中使用cin并将其与可能值列表进行比较, 所以...

char a;
cin>>a;
if(a== 'SET'){
----
}

这显然不起作用,因为a是一个数组。 我以为我可以这样做(如果[0] =='S'),然后检查[1]为'E'等等,但我相信这是一种效率很低的方法吗?或者不是吗?

2 个答案:

答案 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;
}