我正在尝试比较单词的最后一个字母"A";,以及单词"的下一个字母;B";是一样的。
我在重复";B";;并在if语句中进行比较:
string A = ""
string B = "XYZTTTTLMN"
for (long i = 0; i < B.length(); i++) {
if ( A.back() != B.substr(i,1) ) { ... }
}
我收到一个错误,说我无法将字符串与字符进行比较。但是,就我所见,A.back((返回一个字符,B.substr((返回单个数字字符串,这应该没问题吧?
我能做什么有什么想法吗?
非常感谢,谢谢!
在C++中,大小为1的字符串与字符不同。这就是您出现错误的原因,因为字符串和字符无法像您所做的那样进行比较。
要解决这个问题,你可以使用以下代码:
for (long i = 0; i < B.length(); i++) {
if ( A.back() != B.at(i) ) { ... }
}
或
for (long i = 0; i < B.length(); i++) {
if ( A.back() != B[i] ) { ... }
}