Przejdź do zawartości

C/errno

Z Wikibooks, biblioteki wolnych podręczników.
< C
(Przekierowano z C/EILSEQ)

Deklaracja

[edytuj]
#include <errno.h>

#define errno 0

#define EDOM wartość
#define EILSEQ wartość
#define ERANGE wartość

Opis

[edytuj]

errno to makro przechowująca kod ostatniego błędu. Na początku działania programu ma wartość 0 oznaczającą brak problemów. Jeśli w trakcie działania pojawią się błędy (na przykład na skutek działania funkcji wejścia/wyjścia), errno zostanie ustawione na wartość mówiącą o przyczynie wystąpienia błędu. Funkcje ze standardowej biblioteki C nigdy nie zerują wartości tej zmiennej.

Wartości

[edytuj]

Standard C89 definiuje następujące wartości zmiennej:

  • 0 - brak błędu,
  • EDOM - błąd zakresu argumentów przy wywoływaniu funkcji matematycznych,
  • ERANGE - wynik działania funkcji matematycznych nie mieści się w typie wyniku.

Dodatkowo, standard C99 definiuje wartość:

  • EILSEQ - napotkano błędną reprezentację wielobajtowego znaku.

Ponadto identyfikatory zaczynające się od dużej litery E, po której następuje cyfra lub jakaś duża litera są zarezerwowane dla implementacji do określania innych możliwych błędów.

Zobacz też

[edytuj]
perror (wypisywanie przyczyny błędu w czytelnej formie bazujące na errno)
strerror (zwracanie komunikatu błędu)