Estoy produciendo una matriz de caracteres sin firmar en C++ usando ofstream fout("filename");
pero produce un carácter espurio en el medio. Esta es la parte del código que hace que el problema:¿Por qué ofstream inserta un byte 0x0D antes de 0x0A?
for(int i = 0; i < 12; i++)
fout << DChuffTable[i];
y esta es la definición de la matriz:
unsigned char DChuffTable[12] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B};
En el archivo de salida me sale una espuria 0x0D
entre 0x09
y 0x0A
. Revisé la matriz en modo de depuración justo antes de que se imprima y no se modificó. Por favor, dime qué piensas de este problema.
Muchas gracias, no pensé en ese problema. Aunque sospecho que este problema no ocurre en Linux. ¿derecho? – raven
@raven: Se aplica el mismo escenario, pero dado que los sistemas Unix usan "\ n" como una línea que termina de todos modos, de hecho no habrás notado ningún síntoma. Sin embargo, sigue siendo un código roto. :) –