C++ ile imzasız karakter dizisi ofstream fout("filename");
kullanarak çıktıyorum ancak aralarında sahte bir karakter üretiyor. Bu sorun sağlayan kod parçasıdır:Neden yönlendirme 0x0D'den önce bir 0x0D bayt ekler?
for(int i = 0; i < 12; i++)
fout << DChuffTable[i];
ve bu dizinin tanımı: çıktı dosyası olarak
unsigned char DChuffTable[12] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B};
I
0x09
ve
0x0A
arasında gerçek olmayan
0x0D
alır. Diziyi hata ayıklama modunda kontrol ettim, yazdırılmadan hemen önce değişmedi ve değişmedi. Lütfen bana bu problem hakkında ne düşündüğünü söyle.
Çok teşekkürler, bu problemi düşünmedim. Yine de bu sorunun linux'ta meydana geldiğinden şüpheleniyorum. sağ? – raven
@raven: Aynı senaryo geçerlidir, ancak Unix sistemleri "\ n" yi bir satır sonu olarak kullandığından, aslında herhangi bir belirti fark etmeyecektiniz. Yine de bozuk kod var. :) –