Reading and writing files

Open project files with fopen; write temporary files under /tmp.

Runs in Zerethon IDE · C (GCC 14) Official C documentation ↗
main.c
#include <stdio.h>

int main(void) {
    FILE *in = fopen("data.csv", "r");
    if (!in) {
        perror("data.csv");
        return 1;
    }
    char name[32];
    int score, rows = 0;
    fscanf(in, "%*[^\n]\n");   /* skip the header line */
    while (fscanf(in, "%31[^,],%d\n", name, &score) == 2) {
        printf("%s %d\n", name, score);
        rows++;
    }
    fclose(in);

    FILE *out = fopen("/tmp/report.txt", "w");
    fprintf(out, "rows=%d\n", rows);
    fclose(out);
    puts("report written");
    return 0;
}
data.csv
name,score
ada,90
alan,85

Output

ada 90
alan 85
report written
  • fopen returns NULL when it fails; perror prints why (No such file or directory, Read-only file system).
  • Paths are relative to the project root. Project files are read-only; write to /tmp.