【发布时间】:2013-09-13 20:34:29
【问题描述】:
如何比较一个字符串中的单个字符和另一个字符串(可能大于也可能不大于一个字符)
这个程序给了我近 300 行随机错误。这些错误也没有引用特定的行号,只是很多关于“char*”、“”或“std::to_string”的内容。
#include <iostream>
#include <string>
using std::cout;
using std::string;
int main() {
string str = "MDCXIV";
string test = "D";
if (test == str[4]) { // This line causes the problems
cout << test << endl;
}
return 0;
}
【问题讨论】:
-
为什么不
char test = 'D';?! -
目前尚不清楚您是要检查测试是否“包含”str[4],还是“以”str[4]开头。
-
您不能将单个字符与另一个长度可能大于或不大于一个字符的字符串进行比较。这没有任何意义。为什么你会比较
'single_char'和"multiple_chars"?这是 cplusplus 不是 python -
@Smac89 因为“Multiple_chars”包括单个字符的可能性。我可能错了,但似乎 OP 要求的是完全合理的东西。如果字符串长度为 1 且 char 等于另一个 char,他希望比较成功,
-
@john 是的,
multiple_chars实际上只能由single_char组成。但是'g'和['g']之间是有区别的