previous next Up Title Contents Index

Esimerkki

Seuraavassa ohjelmassa tiedostoa luetaan ja kirjoitetaan merkki kerrallaan.
Ohjelma luo kopion AUTOEXEC.BAT-tiedostosta:
    #include <stdio.h>
    #include <stdlib.h>
    /* PÄÄOHJELMA***********************/
    void main(void)
    {
        FILE *in, *out;
        char ch;
        if ((in=fopen("\\AUTOEXEC.BAT", r")) ==NULL) 
        {    
            printf ("Syöttötiedoston avaus ei onnistu ");
            exit (-1); 
            /* lopetetaan ohjelman toiminta ja palautetaan käyttöjärjestelmälle virhekoodi -1*/
        }
        if ((out=fopen("\\AUTOEXEC.BAK","w"))==NULL)
        { 
            printf("Tulostiedoston avaus ei onnistu.\n");
            exit(-1);
        }
        ch = fgetc(in);
        while (!feof(in))
        {
            fputc(ch, out);
            ch = fgetc(in);
        }
        fclose(in); 
        fclose(out);
    }
Esimerkin ohjelma luo kopion tekstitiedostosta.
Jos kopioitava tiedosto olisi EXE-tiedosto, pitäisi tiedostot avata binäärimoodissa. Muuten ohjelma toimisi sellaisenaan.
Ohjelmassa käytetään exit()-funktiota, jolla ohjelman toiminta lopetetaan virhetilanteessa, josta ei voi toipua.

previous next Up Title Contents Index