c++ - 在 vector 上使用 strcmp

标签 c++ string char strcmp

我有一个字符串 vector ,我想将 vector 的第一个元素与一堆不同的“字符串”进行比较。

这是我想做的:

if (strcmp(myString[0], 'a') == 0)

但是 strcmp 不起作用。我基本上想用一堆不同的字符检查 myString[0] 的内容,看看是否匹配。所以它会像

if (strcmp(myString[0], 'a') == 0){
}
else if (strcmp(myString[0], 'ah') == 0){
}
else ifif (strcmp(myString[0], 'xyz') == 0)

等..

我可以使用什么来进行比较?编译器提示“不存在从 std:string 到“constant char*”的合适转换,所以我知道它不喜欢我做一个字符串到 char 的比较,但我不知道如何正确地做到这一点。

最佳答案

std::string 重载 operator== 来进行字符串比较,所以等同于

if (strcmp(cString, "other string") == 0)

if (cppString == "other string")

所以你的代码变成(例如)

else if (myString[0] == "ah")

关于c++ - 在 vector 上使用 strcmp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36974279/

相关文章:

C++ vector 变化类型

javascript - 不匹配任何字符串与任何正斜杠或反斜杠实例的正则表达式

Python十进制到字符串

c++ - 将字符与 C++ 中的空格进行比较?

C++ cout 不接受带有 + 的字符串或字符串

c++ - K&R 样式函数定义使用 g++ 编译

c++ - boost::combine() 是否与方法的输出一起使用?

string - 在 Julia 中反转字符串

c - unix 命令结果到变量 - char*

c - 如何在C中使用带有字符的if语句