Aracılığıyla paylaş


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

_get_doserrno, _set_doserrno

_errno

_get_errno, _set_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

Ayrıca bkz.

Başvuru

Global değişkenler

errno sabitleri

perror

strerror

_get_doserrno

_set_doserrno

_get_errno

_set_errno