Biblioteka standardowa » Stdio.h

Clearerr

  • 2010-10-31 18:27
  • 0 komentarzy
  • 910 odsłon
  • Oceń ten tekst jako pierwszy
void clearerr(FILE *stream);

<justify>Funkcja kasuje znaczniki końca pliku (EOF) oraz błędu dla strumienia stream. Jest to jedyny możliwy sposób na usunięcie wspominanych znaczników. W przypadku wystąpienia błędu, można użyć funkcji perror, by zorientować się, jaki błąd wystąpił.</justify>

Przykład


#include <stdio.h>
 
int main (int argc, char** argv)
{
  FILE * pFile;
  pFile = fopen("plik.txt","r");
  if ( !pFile) perror ("Błąd podczas otwierania pliku");
  else
  {
    fputc ('x',pFile);
    if ( ferror (pFile) )
    {
       printf ("Błąd podczas zapisu do pliku 'plik.txt'\n");
       clearerr (pFile);
    }
    fgetc (pFile);
    if ( !ferror (pFile) )
      printf ("Brak błędów podczas odczytywania pliku 'plik.txt'\n"); 
    fclose (pFile);
  }
  return 0;
}

<justify>Przykładowy program otwiera do odczytu istniejący plik o nazwie 'plik.txt'. Następnie, próba zapisu do tego pliku kończy się spowodowaniem błędu wejścia/wyjścia (I/O) i wyświetleniem treści błędu. Błąd ten jest jednak czyszczony za pomocą funkcji crearerr(), dlatego drugie sprawdzenie obecności błędu nie wykaże żadnych nieprawidłowości.</justify>
Funkcja da na wyjściu:

Błąd podczas zapisu do pliku 'plik.txt'
Brak błędów podczas odczytywania pliku 'plik.txt'




Zobacz też: