Funkcja typu int, zwraca kod błędu wartości 03:
wartość zwrócona 0: poprawne wykonanie zadania
wartość zwrócona 1: nie można utworzyć pliku tymczasowego
wartość zwrócona 2: nie można otworzyć podanego pliku w trybie do odczytu
wartość zwrócona 3: nie można otworzyć podanego pliku w trybie do zapisu
(Chyba, że w zadaniu określono inaczej)
1. Definicja funkcji int C5 (char tablica [ ])
2. Deklarujemy wskaźniki do plików (FILE *f, *w jeden do odczytu, drugi tymczasowy
do zapisu)
3. Deklarujemy zmienną typu int do pobierania znaku oraz drugą, wyzerowaną, jako licznik
(jeżeli jest potrzebny w zadaniu, do pętli)
4. Stały fragment kodu zwrócenie wartości dwóch pierwszych błędów:
if ((w = tmpfile ()) == NULL)
return 1;
if ((f = fopen (nazwa, "r")) == NULL)
return 2;
5. Przekształcenie warunków funkcji:
○ getchar () zmieniamy na getc(f)
○ putchar (c) zmieniamy na fwrite (&c, 1, 1, w);
6. Kolejny stały fragment kodu kontrola trzeciego błędu i zamknięcie
if ((f = fopen (nazwa, "w")) == NULL)
return 3;
rewind (w);
while (!feof (w))
if (fread (&c, 1, 1, w))
putc (c, f);
fclose (f);
return 0;
}
Należy pamiętać o nazwach zmiennych wybieranych z dozwolonych!