Я читаю текстовый файл, а затем сравниваю первую строку файла, которая является «abc», с строкой, которая является «abc», и они не оцениваются равными, хотя мой журнал показывает, что они одинаковы. (он выводит abc! = abc)string from istringstream getline, не сравнивая права
Что я заметил, если я делаю свой текстовый файл только одной строкой, то он оценивает, что они равны.
Я пробовал такие вещи, как использование strcmp или функцию сравнения, но я получаю те же результаты. Я также попытался сделать свою строку, я сравниваю ее с «abc \ n», и это тоже не сработало.
Вот мой код:
string testString = FileUtils::getInstance()->getStringFromFile("test.txt");
istringstream ss(testString);
string s;
string s2 = "abc";
getline(ss, s, '\n');
if(s == s2){
CCLOG("%s","we are good...");
}
else{
CCLOG("%s!=%s", s.c_str(), s2.c_str());
}
Вы имели в виду '' \ n''? Я мог представить, что текущая формулировка кода считывает весь файл (или не скомпилируется). –
да, извините, мой код имел \ n not/n – MikeC
Возможно ли, что текст содержит «невидимый» символ, например, '' \ r''? Вы можете печатать размер строк чтения и печатать символы индивидуально, используя числовое значение для каждого или, по крайней мере, для неграфических символов. –