从char读取命令行

Read command line from char

本文关键字:取命令行 char      更新时间:2023-10-16

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

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

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

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

例如,您可以使用std::string

std::string a;
cin >> a;
if (a.compare("SET"))
{
    // do stuff
}

string::compare将对整个字符串进行相等比较,而不是逐字符比较。

您可以使用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;
}