字符串比较中的C++字符

Cpt*_*ngn 2 c++ string indexing comparison character

我熟悉c ++,但不知道如何比较相同或不同字符串的索引字符.这是一个回文示例,它接受一个int并通过字符串流将其转换为字符串.

bool ispalindrome(int a) {
    stringstream stream;
    stream<<a;
    string str = stream.str();
    int length = str.length();
    int offset = length - 1;
    for (int i=0; i<=offset; i++ && offset--) {
        if (str[i] == str[i + offset]) {
            return false;
        }
        offset--;
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

由于某种原因,这总是被评估为假.我不认为null终止会与它有任何关系,因为它没有长度报告,所以我想我必须使用错误的比较方法.我似乎找不到类似strncmp但有单个字符的东西.

[编辑:固定标题]

Luc*_*ore 5

我不知道你是怎么写那个循环的,但我很确定它应该是

for (int i=0; i<=offset; i++, offset--) {
    if (str[i] != str[offset]) {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)