next up previous contents
Nästa: Binärfiler Upp: In- och utmatning Förra: Inmatning med fgets och   Innehåll

Filer

Ibland kan det vara praktiskt att spara data på filer. Filfunktionerna finns liksom de övriga in- och utmatningsfunktionerna deklarerade i stdio.h. För att öppna en fil används
        FILE * fopen(const char *name, const char *mode);
name är namnet på filen och mode talar om på vilket sätt filen ska öppnas (se avsnitt 4.2.2). fopen returnerar en pekare av typen FILE *. Om pekaren är skild från NULL så lyckades öppnandet och pekaren kan användas för skrivning och läsning från filen. För att skriva och läsa text kan funktionerna
        int fprintf(FILE *file, const char *fmt, ...);
och
        int fscanf(FILE *file, const char *fmt, ...);
användas. Dessa fungerar som printf och scanf med den skillnaden att de tar ett extra argument som talar om vilken fil de ska operera på. Det finns också en filvariant av getchar deklarerad
        int getc(FILE *file);

När en fil inte behövs längre ska den stängas med funktionen

        int fclose(FILE *file);
file talar om vilken fil som ska stängas. fclose returnerar 0 om stängningen lyckades.

Exempel:

/* Skriva en rad på en fil med namn "hejsan.txt" */
   FILE *fp;
   fp = fopen("hejsan.txt", "w");
   if(fp != NULL) {
     fprintf(fp, "...och Aristoteles sade: Jorden är rund!\n");
     fclose(fp)
   } else
     printf("Det gick inte att öppna filen hejsan.txt.\n");





Tomas Oppelstrup
2000-08-18