Online C Compiler
Ouvrir dans le compilateur

Édition pédagogique en français

Gestion des fichiers en C

Ouvrez, écrivez, lisez et fermez des fichiers avec la bibliothèque standard.

Ouvrir dans le compilateur

Gestion des fichiers en C
Ouvrez, écrivez, lisez et fermez des fichiers avec la bibliothèque standard.

fopen renvoie un flux ou NULL en cas d’échec. Le mode détermine lecture, ajout ou remplacement ; w peut tronquer un fichier existant. Vérifiez le résultat avant fprintf, fgets et les autres opérations.

Contrôlez la boucle par le résultat de la fonction de lecture, pas par feof avant lecture. fgets connaît la capacité du tampon et peut lire une longue ligne en plusieurs parties. Distinguez fin de fichier et erreur si nécessaire.

Fermez avec fclose et vérifiez les erreurs d’écriture. Dans le compilateur distant, les fichiers peuvent ne vivre que le temps d’une exécution : ce n’est ni un stockage permanent ni un accès à votre ordinateur.

Code source

#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;
}
Ouvrir dans le compilateur

Résultat attendu

--- File Content Readout ---
Hello from the online C compiler file sandbox!
Line 2: Ephemeral file storage.

Questions fréquentes

Pourquoi le code et certains résultats restent-ils en anglais ?

Les mots-clés C, les identifiants, les commentaires du programme et les sorties attendues restent ceux de la version originale pour conserver un code exécutable et des tests cohérents. Les explications et les consignes sont traduites.