fwrite
Esta función está pensada para trabajar con registros de longitud constante y forma parejacon fread. Es capaz de escribir hacia un fichero uno o varios registros de la misma
longitud almacenados a partir de una dirección de memoria determinada. El valor de
retorno es el número de registros escritos, no el número de bytes. Los parámetros son:
un puntero a la zona de memoria de donde se obtendrán los datos a escribir, el tamaño de
cada registro, el número de registros a escribir y un puntero a la estructura FILE del
fichero al que se hará la escritura.
El prototipo correspondiente de fwrite es:
Un ejemplo concreto del uso de fwrite con su contraparte fread y usando funciones es:
#include <stdio.h>
int main ( int argc, char **argv ) {
FILE *fp;
char cadena[] = "Mostrando el uso de fwrite en un fichero.\n";
fp = fopen ( "fichero.txt", "r+" );
fwrite( cadena, sizeof(char), sizeof(cadena), fp ); //char cadena[]... cada posición es de tamaño 'char'
fclose ( fp );
return 0;
}
fprintf
La función fprintf funciona igual que printf en cuanto a parámetros, pero la salida se dirigea un archivo en lugar de a la pantalla.
El prototipo correspondiente de fprintf es:
Podemos ver un ejemplo de su uso, abrimos el documento "fichero.txt" en modo
lectura/escritura y escribimos dentro de el.
#include <stdio.h>
int main ( int argc, char **argv ) {
FILE *fp;
char buffer[100] = "Esto es un texto dentro del fichero.";
fp = fopen ( "fichero.txt", "r+" );
fprintf(fp, buffer);
fprintf(fp, "%s", "\nEsto es otro texto dentro del fichero.");
fclose ( fp );
return 0;
}