8
我在C++中使用ofstream fout("filename");
輸出一個無符號字符數組,但它在它們之間產生一個虛假字符。這是使該問題的代碼部分:爲什麼ofstream在0x0A之前插入一個0x0D字節?
for(int i = 0; i < 12; i++)
fout << DChuffTable[i];
,這是數組的定義:
unsigned char DChuffTable[12] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B};
在輸出文件,我收到了假0x0D
0x09
和0x0A
之間。在打印之前,我在調試模式下檢查了數組,並且沒有改變。請告訴我你對這個問題的看法。
非常感謝,我沒有想到這個問題。雖然我懷疑這個問題在linux中不會發生。對? – raven 2011-03-03 11:33:33
@raven:同樣的情況適用,但是由於Unix系統使用「\ n」作爲結束行,確實你不會注意到任何症狀。儘管如此,它仍然是破碎的代碼。 :) – 2011-03-03 12:17:09