[AYUDA] Dos dudas para mostrar por pantalla

Iniciado por Kougami, 7 Enero 2017, 17:47 PM

0 Miembros y 1 Visitante están viendo este tema.

Kougami

Si, el archivo se crea pero en vez de los numeros que deberia tener en el array aparece -858993460

MAFUS

Pienso que es porqué te graba el número en formato binario y claro, al ser una maquina little endian empieza con el byte de menos peso y termina con el byte de más peso. Después cuándo lees el texto con un editor de texto ves el número fruto de como se ha guardado.
Pero ya te digo que lo pienso. Soy de C, no de C++ así que no puedo hacer la prueba hora mismo. Seguro que hay alguna forma de pasar el número a cadena antes de dárselo a fichs. Es la idea que se me ocurre.

ivancea96

La clase ofstream escribe la representación, no el binario.

Haz una cosa. Pon al lado de la línea, esta otra:
Código (cpp) [Seleccionar]
fichs << fila[i] << endl;
cout << fila[i] << endl;


Y a ver qué muestra por pantalla. es posible que el error venga de antes.

Kougami

Muchas gracias a los dos, ya lo consegui solucionar, solo me faltaba declarar en el main el tFilas fila, ese era el problema, y luego que en el ofstream tenia que pasarlo como const tFilas fila para que no se modificase