有沒有辦法區分第一個值(這是一個數字10保存爲unsigned char
)與以下演示代碼中的換行符?無符號字節10與新行衝突
int main() {
unsigned char ch1(10), ch2('\n');
std::cout << (int)ch1 << " " << (int)ch2 << std::endl;
}
輸出是
10 10
欲寫入文件這樣的字符爲無符號字節,但也希望當在稍後的時間讀出的換行字符是來自數字「10」可區分。
有什麼建議嗎?
問候, 尼基爾
其實你是輸出所有的文字表示!對於這種情況,不輸出爲'int'輸出(並且更喜歡'std :: endl'來輸出行尾)! –
我不認爲鑄造是一個問題。 因爲,如果我改變了上面的代碼說 '如果(CH1 == CH2)的std ::法院<< 「平等\ n!」 <<的std :: ENDL;' 在沒有鑄造完成後,我的輸出結果是「Equal!」。 –
_'我認爲它不會起作用.'_特別是**什麼**不起作用?詳細說明(請編輯你的問題!)。 –