Edición didáctica en español. El código y sus salidas conservan el original.
Archivos en C
Abre, escribe, lee y cierra archivos con las funciones de la biblioteca estándar.

fopen devuelve un flujo o NULL si no puede abrirlo. El modo determina si lees, añades o reemplazas contenido; abrir con w puede truncar un archivo existente. Comprueba el resultado antes de usar fprintf, fgets u otras operaciones.
Controla el bucle de lectura con el resultado de la función que lee, no con una comprobación anticipada de feof. fgets necesita conocer el tamaño del buffer y puede leer una línea por partes. Distingue fin de archivo de error cuando sea relevante.
Cierra los flujos con fclose y revisa errores de escritura. En el compilador remoto los archivos pueden existir solo durante una ejecución: no los uses como almacenamiento permanente ni supongas acceso a archivos de tu ordenador.
Código C
#include <stdio.h>
#include <stdlib.h>
int main(void) {
const char *filepath = "/tmp/demo_output.txt";
FILE *fout = fopen(filepath, "w");
if (fout == NULL) {
perror("Error opening file for writing");
return EXIT_FAILURE;
}
fprintf(fout, "Hello from the online C compiler file sandbox!\nLine 2: Ephemeral file storage.\n");
fclose(fout);
FILE *fin = fopen(filepath, "r");
if (fin == NULL) {
perror("Error opening file for reading");
return EXIT_FAILURE;
}
char buffer[256];
printf("--- File Content Readout ---\n");
while (fgets(buffer, sizeof(buffer), fin) != NULL) {
printf("%s", buffer);
}
fclose(fin);
return EXIT_SUCCESS;
}Abrir en el compiladorSalida esperada
--- File Content Readout --- Hello from the online C compiler file sandbox! Line 2: Ephemeral file storage.
Preguntas frecuentes
¿Por qué el código y la salida siguen en inglés?
Las palabras clave, los identificadores y los textos que verifican las pruebas se conservan para no cambiar el programa. Las explicaciones y los controles están traducidos.