errno
Stałe
Składnia
#include <errno.h>
Uwagi
Stałe errno
są wartościami przypisanymi do errno
różnych warunków błędu.
ERRNO.H
zawiera definicje errno
wartości. Jednak nie wszystkie definicje podane w programie ERRNO.H
są używane w 32-bitowych systemach operacyjnych Windows. Niektóre wartości w programie ERRNO.H
są obecne w celu zachowania zgodności z rodziną systemów operacyjnych UNIX. Wartości errno
w 32-bitowym systemie operacyjnym Windows są podzbiorem wartości dla errno
systemów UNIX.
Wartość errno
nie musi być taka sama jak rzeczywisty kod błędu zwrócony przez wywołanie systemowe z systemu operacyjnego Windows. Aby uzyskać dostęp do rzeczywistego kodu błędu systemu operacyjnego, użyj zmiennej zawierającej _doserrno
tę wartość.
Obsługiwane są następujące errno
wartości:
Stała | Opis | Wartość |
---|---|---|
E2BIG |
Lista argumentów jest za długa. | 7 |
EACCES |
Odmowa uprawnień. Ustawienie uprawnień pliku nie zezwala na określony dostęp. Podjęto próbę uzyskania dostępu do pliku (lub w niektórych przypadkach katalogu) w sposób niezgodny z atrybutami pliku. Na przykład błąd może wystąpić, gdy zostanie podjęta próba odczytu z pliku, który nie jest otwarty. Możesz też podjąć próbę otwarcia istniejącego pliku tylko do odczytu do zapisu lub otwarcia katalogu zamiast pliku. W obszarze system operacyjny MS-DOS w wersji 3.0 lub nowszej EACCES może również wskazywać naruszenie blokady lub udostępniania.Błąd może również wystąpić podczas próby zmiany nazwy pliku lub katalogu lub usunięcia istniejącego katalogu. |
13 |
EAGAIN |
Nie osiągnięto więcej procesów lub za mało pamięci ani maksymalnego poziomu zagnieżdżania. Próba utworzenia nowego procesu nie powiodła się, ponieważ nie ma więcej miejsc przetwarzania lub nie ma wystarczającej ilości pamięci lub osiągnięto maksymalny poziom zagnieżdżania. | 11 |
EBADF |
Nieprawidłowy numer pliku. Istnieją dwie możliwe przyczyny: 1) Określony deskryptor pliku nie jest prawidłową wartością lub nie odwołuje się do otwartego pliku. 2) Podjęto próbę zapisu w pliku lub urządzeniu otwartym w celu uzyskania dostępu tylko do odczytu. | 9 |
EBUSY |
Urządzenie lub zasób są zajęte. | 16 |
ECHILD |
Nie zostały zduplikowane procesy. | 10 |
EDEADLK |
Wystąpi zakleszczenie zasobów. | 36 |
EDEADLOCK |
Tak samo jak EDEADLK w przypadku zgodności ze starszymi wersjami języka Microsoft C. |
36 |
EDOM |
Argument matematyczny. Argument funkcji matematycznej nie znajduje się w domenie funkcji. | 33 |
EEXIST |
Pliki istnieją. Podjęto próbę utworzenia pliku, który już istnieje. Na przykład flagi _O_CREAT i _O_EXCL są określone w wywołaniu _open , ale nazwany plik już istnieje. |
17 |
EFAULT |
Nieprawidłowy adres. | 14 |
EFBIG |
Plik jest za duży. | 27 |
EILSEQ |
Niedozwolona sekwencja bajtów (na przykład w MBCS ciągu). |
42 |
EINTR |
Przerwana funkcja. | 100 |
EINVAL |
Nieprawidłowy argument. Podano nieprawidłową wartość dla jednego z argumentów funkcji. Na przykład wartość podana dla źródła podczas umieszczania wskaźnika pliku (przez wywołanie metody fseek ) jest przed rozpoczęciem pliku. |
22 |
EIO |
Błąd we/wy. | 5 |
EISDIR |
Jest katalogiem. | 21 |
EMFILE |
Zbyt wiele otwartych plików. Nie są dostępne żadne deskryptory plików, więc nie można otwierać więcej plików. | 24 |
EMLINK |
Zbyt wiele łączy. | 31 |
ENAMETOOLONG |
Nazwa pliku jest za długa. | 38 |
ENFILE |
Zbyt wiele plików otwartych w systemie. | 23 |
ENODEV |
Nie ma takiego urządzenia. | 19 |
ENOENT |
Nie ma takiego pliku lub katalogu. Określony plik lub katalog nie istnieje lub nie można go odnaleźć. Ten komunikat może wystąpić, gdy określony plik nie istnieje lub składnik ścieżki nie określa istniejącego katalogu. | 2 |
ENOEXEC |
Błąd formatu exec. Podjęto próbę wykonania pliku, który nie jest wykonywalny lub ma nieprawidłowy format pliku wykonywalnego. | 8 |
ENOLCK |
Brak dostępnych blokad. | 39 |
ENOMEM |
Za mało pamięci dla operatora, który próbował podjąć próbę. Na przykład ten komunikat może wystąpić, gdy za mało pamięci jest dostępna do wykonania procesu podrzędnego lub gdy żądanie alokacji w _getcwd wywołaniu nie może być spełnione. |
12 |
ENOSPC |
Brak miejsca na urządzeniu. Na urządzeniu nie ma więcej miejsca na zapisywanie (na przykład gdy dysk jest zapełniony). | 28 |
ENOSYS |
Funkcja nie jest obsługiwana. | 40 |
ENOTDIR |
Nie katalog. | 20 |
ENOTEMPTY |
Katalog nie jest pusty. | 41 |
ENOTTY |
Niewłaściwa operacja sterowania we/wy. | 25 |
ENXIO |
Nie ma takiego urządzenia ani adresu. | 6 |
EPERM |
Operacja jest niedozwolona. | 1 |
EPIPE |
Przerwana rura. | 32 |
ERANGE |
Wynik jest zbyt duży. Argument funkcji matematycznej jest zbyt duży, co powoduje częściową lub całkowitą utratę istotności w wyniku. Ten błąd może również wystąpić w innych funkcjach, gdy argument jest większy niż oczekiwano (na przykład gdy buffer argument ma _getcwd być dłuższy niż oczekiwano). |
34 |
EROFS |
System plików tylko do odczytu. | 30 |
ESPIPE |
Nieprawidłowe wyszukiwanie. | 29 |
ESRCH |
Nie ma takiego procesu. | 3 |
EXDEV |
Łącze między urządzeniami. Podjęto próbę przeniesienia pliku na inne urządzenie (przy użyciu rename funkcji). |
18 |
STRUNCATE |
Kopiowanie lub łączenie ciągów spowodowało obcięcie ciągu. Zobacz: _TRUNCATE . |
80 |
Następujące wartości są obsługiwane pod kątem zgodności z rozwiązaniem POSIX:
Stała | Opis | Wartość |
---|---|---|
EADDRINUSE |
Adres używany. | 100 |
EADDRNOTAVAIL |
Adres jest niedostępny. | 101 |
EAFNOSUPPORT |
Rodzina adresów nie jest obsługiwana. | 102 |
EALREADY |
Połączenie jest już w toku. | 103 |
EBADMSG |
Zła wiadomość. | 104 |
ECANCELED |
Operacja anulowana. | 105 |
ECONNABORTED |
Przerwano połączenie. | 106 |
ECONNREFUSED |
Połączenie odmówiło. | 107 |
ECONNRESET |
Resetowanie połączenia. | 108 |
EDESTADDRREQ |
Wymagany adres docelowy. | 109 |
EHOSTUNREACH |
Host jest niedostępny. | 110 |
EIDRM |
Usunięto identyfikator. | 111 |
EINPROGRESS |
Operacja w toku. | 112 |
EISCONN |
Już nawiązane połączenie. | 113 |
ELOOP |
Zbyt wiele poziomów linków symbolicznych. | 114 |
EMSGSIZE |
Rozmiar wiadomości. | 210 |
ENETDOWN |
Sieć nie działa. | 116 |
ENETRESET |
Resetowanie sieci. | 117 |
ENETUNREACH |
Sieć jest niedostępna. | 118 |
ENOBUFS |
Brak miejsca buforu. | 119 |
ENODATA |
Brak dostępnej wiadomości. | 120 |
ENOLINK |
Brak łącza. | 121 |
ENOMSG |
Brak wiadomości. | 122 |
ENOPROTOOPT |
Brak opcji protokołu. | 123 |
ENOSR |
Brak zasobów strumienia. | 124 |
ENOSTR |
Nie strumień. | 125 |
ENOTCONN |
Nie połączono. | 126 |
ENOTRECOVERABLE |
Stan nie można odzyskać. | 127 |
ENOTSOCK |
Nie gniazdo. | 128 |
ENOTSUP |
Nieobsługiwane. | 129 |
EOPNOTSUPP |
Operacja nieobsługiwana. | 130 |
EOTHER |
Inne. | 131 |
EOVERFLOW |
Zbyt duża wartość. | 132 |
EOWNERDEAD |
Właściciel nie żyje. | 133 |
EPROTO |
Błąd protokołu. | 134 |
EPROTONOSUPPORT |
Protokół nie jest obsługiwany. | 135 |
EPROTOTYPE |
Nieprawidłowy typ protokołu. | 136 |
ETIME |
Limit czasu strumienia. | 137 |
ETIMEDOUT |
Przekroczono limit czasu. | 138 |
ETXTBSY |
Plik tekstowy jest zajęty. | 139 |
EWOULDBLOCK |
Operacja zostanie zablokowana. | 140 |