我有一个字符串 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/