无法识别String C ++中的冒号

时间:2014-06-05 20:24:11

标签: c++ string

这段代码包括我想要显示的字符串和一个帮助方法,其唯一的功能是显示字符串,在找到冒号时在新行上输入文本。但是,它只对最后一个冒号而不是其他冒号

执行此操作
string list = ":hello:chris:";

void displayEntry(){char *colon = ":";
    for (int i = 0; i<list.length(); i++) {
        char *letter = &list.at(i);
        if (strcmp(letter, colon) != 0) {
            cout << list[i];
            continue;
        }
        cout << "\n";
    }
    cout << "\n";
}

1 个答案:

答案 0 :(得分:3)

这是因为strcmp不用于比较单个字符,它会比较整个字符串直到找到NUL字符。

您实际上不需要char*,只需使用char==

if (list.at(i) != ':')