errno, _doserrno, _sys_errlist ve _sys_nerr
Bu genel değişkenler tarafından kullanılan hata kodları tutun perror ve strerror hata iletileri yazdırma işlevleri. Listelenen daha güvenli işlevsel sürümleri bu tablo, genel değişkeni yerine kullanılmalıdır.
Genel değişken |
İşlevsel eşdeğerleri |
---|---|
_doserrno |
|
_errno |
Bu değişkenler STDLIB bildirilir.H olarak
extern int _doserrno;
extern int errno;
extern char *_sys_errlist[ ];
extern int _sys_nerr;
Notlar
errnove _errno aynı değişkene bağlı. errnokod ile tanımlanır#define errno (*_errno())
errnosistem düzeyinde çağrısında hata ayarlanır. Çünkü errno holds değeri, bu değer ayarlayan son aramadan görüşmeleri izleyen tarafından değiştirilmesine. Her zaman kontrol errno hemen önce ve sonra ayarlamak bir çağrı.
Bir hata errno mutlaka bir sistem çağrısı tarafından döndürülen hata kodu aynı değere ayarlanmamış. G/Ç işlemleri için _doserrno işletim sistemi hata kodu karşılıkları erişmek için errno kodları. Çoğu olmayan-ı/o işlem için değeri _doserrno tanımlı değil.
Her errno değeri kullanılarak yazdırılabilir bir hata iletisi ile ilişkili perror veya bir dize kullanarak saklı strerror. perrorve strerror kullanmak _sys_errlist dizi ve _sys_nerr, öğelerin sayısını _sys_errlist, hata bilgilerini işlemek için.
Kitaplık matematik yordamları kümesi errno çağırarak _matherr. Farklı matematik hataları işlemek için kendi yordamına göre yaz _matherr açıklama başvuru ve adını _matherr.
Tüm errno öntanımlı sabitler HATANO olarak tanımlanan değerler.H, UNIX uyumlu ve öğeler aşağıda listelenmiştir. Yalnızca ERANGE, EILSEQ ve EDOM ANSI standardında belirtilen.
Sabit |
Sistem hatası iletisi |
Value |
---|---|---|
EPERM |
Bu işleme izin verilmez |
1 |
ENOENT |
Böyle bir dosya ya da dizini |
2 |
ESRCH |
Böyle bir işlem |
3 |
EINTR |
Kesintiye uğramış işlevi |
4 |
EIO |
G/Ç hatası |
5 |
ENXIO |
Böyle bir aygıt veya adres |
6 |
E2BIG |
Bağımsız değişken listesi çok uzun |
7 |
ENOEXEC |
Exec biçimlendirme hatası |
8 |
EBADF |
Hatalı dosya numarası |
9 |
ECHILD |
Hiçbir kapatmasına işlemleri |
10 |
EAGAIN |
Daha fazla bir işlem ya da yeterli bellek veya en fazla iç içe geçmiş düzeyini ulaştı |
11 |
ENOMEM |
Yeterli bellek yok |
12 |
EACCES |
İzin verilmedi |
13 |
EFAULT |
Hatalı adres |
14 |
EBUSY |
Aygıt veya kaynak meşgul |
16 |
EEXIST |
Dosya var |
17 |
EXDEV |
Çapraz-aygıt bağlantısı |
18 |
ENODEV |
Böyle bir aygıt |
19 |
ENOTDIR |
Bir dizin |
20 |
EISDIR |
Bir dizin |
21 |
EINVAL |
Geçersiz bağımsız değişken |
22 |
ENFILE |
Sistemde çok fazla dosya açın |
23 |
EMFILE |
Çok fazla açık dosya |
24 |
ENOTTY |
Uygun olmayan g/Ç Denetim işlemi |
25 |
EFBIG |
Dosya çok büyük |
27 |
ENOSPC |
Aygıtta alan kalmadığı |
28 |
ESPIPE |
Geçersiz arama |
29 |
EROFS |
Salt okunur dosya sistemi |
30 |
EMLINK |
Çok fazla bağlantı |
31 |
EPIPE |
Kırık iletişim borusu |
32 |
EDOM |
Matematik değişkeni |
33 |
ERANGE |
Sonuç çok büyük |
34 |
EDEADLK |
Kaynak kilitlenme ortaya çıkabilecek |
36 |
EDEADLOCK |
Microsoft c önceki sürümlerle uyumluluk için edeadlk aynı |
36 |
ENAMETOOLONG |
Dosya adı çok uzun |
38 |
ENOLCK |
Hiçbir kilit |
39 |
ENOSYS |
İşlev desteklenmiyor |
40 |
ENOTEMPTY |
Dizin boş değil |
41 |
EILSEQ |
Geçersiz bayt sırası |
42 |
STRUNCATE |
Dize kesildi |
80 |