clearerr <STDIO.H>
Składnia: void clearerr(FILE *stream);
gdzie:
stream - wskaźnik do strumienia.

Opis
Ustawia na 0 wskaźnik błędu i wskaźnik końca strumienia. Jeżeli raz zostanie ustawiony wskaźnik błędu dla strumienia, to wszystkie operacje związane z tym strumieniem będą zwracały błąd, aż do wywołania funkcji clearerr, rewind lub zamknięcia strumienia.

Zwracana wartość: brak

ferror <STDIO.H>
Składnia: int ferror(FILE *stream);
gdzie:
stream - wskaźnik do strumienia.

Opis
Sprawdza, czy dla podanego strumienia nie wystąpił błąd: czy jest ustawiony wskaźnik błędu. Jeżeli raz zostanie ustawiony wskaźnik błędu dla strumienia, to wszystkie operacje związane z tym strumieniem będą zwracały błąd, aż do wywołania funkcji clearerr, rewind lub zamknięcia strumienia.

Zwracana wartość:

  • 0 - jeżeli nie wystąpił żaden błąd;
  • w przeciwnym przypadku wartość różną od zera.

Przykład:

#include <stdio.h>

int main(void)
{ FILE *plik;
  char zn;

  plik = fopen("TEST.$$$", "w"); // otwarcie pliku do zapisu

  zn = fgetc(plik); // wystąpi błąd podczas próby czytania z pliku
  printf("%c\n",zn);

  if (ferror(plik)) // sprawdzenie czy wystąpił błąd
  { printf("Błąd czytania z TEST.$$$\n"); // komunikat o błędzie

    clearerr(plik); // wyzerowanie wskaźnika błędu
  }

  fclose(plik);
  return 0;
}