Online C Compiler
Openen in de compiler

Nederlandse leereditie

Bestanden en streams in C

Open, lees en schrijf bestanden en controleer resultaten en fouten.

Openen in de compiler

Bestanden en streams in C
Open, lees en schrijf bestanden en controleer resultaten en fouten.

fopen geeft een stream terug of NULL bij een fout. De modus kiest lezen, toevoegen of vervangen; w kan een bestaand bestand afkappen. Controleer het resultaat vóór fprintf, fgets en andere bewerkingen.

Laat het leesresultaat de lus besturen, niet feof vóór het lezen. fgets kent de buffercapaciteit en kan een lange regel in delen lezen. Onderscheid waar nodig bestandseinde en leesfout.

Sluit met fclose en controleer schrijffouten. Bij de externe compiler kunnen bestanden maar één uitvoering bestaan: dit is geen permanente opslag of toegang tot bestanden op je computer.

Broncode

#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;
}
Openen in de compiler

Verwacht resultaat

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

Veelgestelde vragen

Waarom blijven code en sommige resultaten Engels?

C-sleutelwoorden, namen, programmacommentaar en verwachte uitvoer blijven gelijk aan het origineel om uitvoerbare code en consistente tests te behouden. Uitleg en instructies zijn vertaald.