a ver is me entero bien...
La funcion fwrite(); de stdio.h se supone q escribe un bloque de bytes , visto byte a byte segun un libro q tengo...
Si compilo este codigo:
me crea el fichero omarin.dat.., hasta ahi todo bien
pero cuando lo abro pasan 2 cosas:
Desde un windows 98 me trae esto: c joderrrr yaaa (el texto q le meti) (la c es el 99 en ascii)
pero desde un WindowsXP me trae: c jo (creo recordar)
y eso para un registro, si intento escribir una cadena de caracteres simplemente en el 98 me crea el fichero con la cadena de caracteres legible y los caracteres en blanco del final (hasta completar el array de caracteres) con letras Ì
mientras que si hago lo de esa cadena en un XP me escribe unos cuadrados, menos una J por ahi metida....
los ficheros los leo desde el bloc de notas por si habia duda...
si se supone que fwrite escribe en bloques de bytes, no deberia poder leerse desde un editor de texto no?, lo del XP me parece lo mas razonable, pero desde el 98 me lee todo a la perfeccion....
y de no ser asi, q alguien me explique como hace la gente esos ficheros .dat o .loquesea que los abres y son ilegibles..., yo pensaba que era con el fwrite pero ya no se que pensar :blink:
weno, gracias de antemano, y espero que se entienda lo que puse, que a estas horas estoy espeso :D
La funcion fwrite(); de stdio.h se supone q escribe un bloque de bytes , visto byte a byte segun un libro q tengo...
Si compilo este codigo:
Código [Seleccionar]
#include "stdio.h"
struct
{
int num;
char nom[30];
}reg;
void main(){
FILE *flujo=NULL;
flujo = fopen("omarin.dat","w");
reg.num = 99;
gets(reg.nom);
fwrite(®,sizeof(reg),1,flujo);
fclose(flujo);
}
me crea el fichero omarin.dat.., hasta ahi todo bien
pero cuando lo abro pasan 2 cosas:
Desde un windows 98 me trae esto: c joderrrr yaaa (el texto q le meti) (la c es el 99 en ascii)
pero desde un WindowsXP me trae: c jo (creo recordar)
y eso para un registro, si intento escribir una cadena de caracteres simplemente en el 98 me crea el fichero con la cadena de caracteres legible y los caracteres en blanco del final (hasta completar el array de caracteres) con letras Ì
mientras que si hago lo de esa cadena en un XP me escribe unos cuadrados, menos una J por ahi metida....
los ficheros los leo desde el bloc de notas por si habia duda...
si se supone que fwrite escribe en bloques de bytes, no deberia poder leerse desde un editor de texto no?, lo del XP me parece lo mas razonable, pero desde el 98 me lee todo a la perfeccion....
y de no ser asi, q alguien me explique como hace la gente esos ficheros .dat o .loquesea que los abres y son ilegibles..., yo pensaba que era con el fwrite pero ya no se que pensar :blink:
weno, gracias de antemano, y espero que se entienda lo que puse, que a estas horas estoy espeso :D
