incluir registros en un fichero

platero y tu
13 de Septiembre del 2005
hola!

intento incluir un registro con dos campos, char y float, en un fichero pero no sé por qué, en dicho fichero aparece esto:

------------------------------------
pedro ­®Àw ƒÄ…öu A
juan ­®Àw ƒÄ…öu @@
------------------------------------

La foma de hacerlo es: fwrite (&dat, sizeof (dat), 1, pf);

dat es la variable relacionada con el registro, pf el vinculo al fichero. El uno no se porque lo pongo pero sino lo hago no funciona ;)

chuidiang
13 de Septiembre del 2005
Hola:
Eso es normal. Lo que ves en el fichero es la estructura interna de tus datos.

Si tu estructura dat es algo como esto
struct dat
{
char [10] nombre;
float valor
}

en el fichero se escribiran 10 caracteres, en tu caso "pedro" mas un caracter cuyo codigo ascii es 0 mas otros 4 indefinidos (pueden ser 4 de los caracteres extraños que tienes ahi).
Luego se escribe el float, que son 4 bytes (4 caracteres) que no tienen sentido.
La forma de comprobar si eso es correcto es leerlo con fread() sobre la misma estructura y ver si se lee bien.
Se bueno.