運行下面的代碼:寫號文件 - 奇怪的結果
ofstream newfile(path + "file" + ".hash", fstream::out);
filefl.open(path + "file" + ".hash", fstream::out);
char a = 10;
filefl<<a;
filefl.close();
結果與它0D 0A
(十六進制編輯器中查看)的文件。
a=9
包含09
文件時。
sizeof(char)
爲1
我的操作系統是Win7的X64和代碼通過VS2010親運行。
有人可以解釋這一點嗎?
什麼樣的結果你真的指望什麼? '0D''0A'是回車,換行。您的操作系統可能會將10(即0A)擴展爲CRLF組合。您應該以任何二進制模式打開您的文件。 –
值'10'由流轉換爲卡拉格返回/換行組合。這是Windows特定順便說一句。 –