-1
我正在閱讀一個文本文件,然後將文件的第一行(即「abc」)與字符串「abc」進行比較,但他們的評估結果並不相等,儘管我的日誌聲明顯示它們是相同的。 (這是輸出abc!= abc)來自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''?我可以想象,當前的代碼形式讀取整個文件(或無法編譯)。 – 2014-11-04 03:00:53
是的,對不起,我的代碼有\ n not/n – MikeC 2014-11-04 03:03:26
有可能文本包含一個「不可見」字符,例如''\ r''?您可能希望打印讀取字符串的大小,並使用每個字符的數字值單獨打印字符,或者至少爲非圖形字符打印字符。 – 2014-11-04 03:07:47