La Red de Conocimientos Pedagógicos - Currículum vitae - ¿Por qué aparece código confuso después de escribir un archivo usando fwrite en lenguaje C?

¿Por qué aparece código confuso después de escribir un archivo usando fwrite en lenguaje C?

Esta función opera sobre archivos en formato binario.

La escritura de acuerdo con la estructura de definición de datos mantiene la longitud de la estructura de datos. Para los tipos numéricos, aparece como caracteres confusos cuando se abre en modo texto. Por ejemplo, float a = 12345.67, después de escribir en el archivo, tiene 4 bytes, pero después de abrirlo, no son los 8 bytes representados por el texto.

Para escribir datos, utilice fprintf(fp,"%s %s %d. No es fscanf(). Además, preste atención al formato al escribir. Debe haber un espacio delimitador en el de lo contrario, la próxima vez que lea Cuando los archivos se mezclan, shu, cadenas y números no se pueden leer. Para los archivos que pueden "leerse y escribirse" al mismo tiempo, preste atención al control de lectura y escritura. posiciones y utilice archivos envolventes o fseek si es necesario

Información extendida:

Devuelve el número de elementos de datos realmente escritos

Explicación: Esto está relacionado con. el modo de apertura del archivo si es w+, la escritura comienza desde la dirección señalada por el puntero del archivo. Después de reemplazar el contenido, la longitud del archivo puede permanecer sin cambios y la posición de la secuencia se mueve según el conteo; es a+, se agregará desde el final del archivo y la longitud del archivo aumentará.

fseek tiene esta función, pero la función fwrite escribe en el búfer del espacio del usuario y no está sincronizada. Por lo tanto, si desea sincronizar la memoria con el archivo después de la modificación, puede usar la función fflush (FILE *fp) para sincronizar

Baidu Encyclopedia-fwrite.