errno

Autres langues

Langue: ja

Version: 2006-02-09 (openSuse - 09/10/07)

Autres sections - même nom

Section: 3 (Bibliothèques de fonctions)

̾Á°

errno - ľ¶á¤ËȯÀ¸¤·¤¿¥¨¥é¡¼¤ÎÈÖ¹æ

½ñ¼°

#include <errno.h>

ÀâÌÀ

¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë <errno.h> ¤ÇÀ°¿ô·¿¤ÎÊÑ¿ô errno ¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤ÎÊÑ¿ô¤Ë¤Ï¡¢ ¥·¥¹¥Æ¥à¥³¡¼¥ëµÚ¤Ó¤¤¤¯¤Ä¤«¤Î¥é¥¤¥Ö¥é¥ê´Ø¿ô¤Ë¤è¤ê ¥¨¥é¡¼¤¬È¯À¸¤·¤¿ºÝ¤Ë¤½¤Î¸¶°ø¤ò¼¨¤¹Ãͤ¬ÀßÄꤵ¤ì¤ë¡£ ¤³¤ÎÃͤϥ³¡¼¥ë¤¬¥¨¥é¡¼ (Ä̾ï -1) ¤òÊÖ¤·¤¿»þ¤Ë¤Î¤ß°ÕÌ£¤ò»ý¤Ä¤¬¡¢ ¥é¥¤¥Ö¥é¥ê´Ø¿ô¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤â errno ¤òÊѹ¹¤¹¤ë¤³¤È¤¬µö¤µ¤ì¤Æ¤¤¤ë¡£

»þ¤Ë¤Ï¡¢´Ø¿ô¤¬À®¸ù¤·¤¿¾ì¹ç¤ÎÍ­¸ú¤ÊÊÖ¤êÃͤȤ·¤Æ -1 ¤¬ÊÖ¤µ¤ì¤ë¤³¤È¤¬¤¢¤ë¡£ ¤³¤Î¤è¤¦¤Ê¾ì¹ç¡¢¥¨¥é¡¼¤ò¸¡½Ð¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¸Æ¤Ó½Ð¤·¤ÎÁ°¤Ë errno ¤ò 0 ¤Ë¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë¡£

errno ¤Ï¡¢ISO C standard ¤Ç int ·¿¤ÎÊѹ¹²Äǽ¤Êº¸ÊÕÃÍ ¤È¤·¤ÆÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢ÌÀ¼¨Åª¤ËÀë¸À¤ò¹Ô¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤; errno ¤Ï¥Þ¥¯¥í¤Î¾ì¹ç¤â¤¢¤ê¤¨¤ë¡£ errno ¤Ï¥¹¥ì¥Ã¥ÉËè¤Ë Ãͤò»ý¤Ä¡£¤Ä¤Þ¤ê¤¢¤ë¥¹¥ì¥Ã¥É¤Ç errno ¤¬ÀßÄꤵ¤ì¤Æ¤â¡¢ ¾¤Î¥¹¥ì¥Ã¥É¤Î errno ¤Ë¤Ï±Æ¶Á¤·¤Ê¤¤¡£

Í­¸ú¤Ê¥¨¥é¡¼ÈÖ¹æ¤Ï¤¤¤º¤ì¤â 0 °Ê³°¤ÎÃͤò»ý¤Ä¡£ ¤Ä¤Þ¤ê¡¢ errno ¤ò 0 ¤ËÀßÄꤹ¤ë¥é¥¤¥Ö¥é¥ê´Ø¿ô¤Ï¤Ê¤¤¡£ POSIX.1 ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥¨¥é¡¼Ì¾¤Ë¤Ï¡¢ ¤½¤ì¤¾¤ì°Û¤Ê¤ëÃͤ¬Âбþ¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ⤷¡¢ EAGAIN ¤È EWOULDBLOCK ¤ÏÎã³°¤Ç¡¢¤³¤ì¤é¤ÏƱ¤¸Ãͤò»ý¤Ã¤Æ¤â¤è¤¤¡£

E2BIG
°ú¤­¿ô¥ê¥¹¥È¤¬Ä¹²á¤®¤ë (POSIX.1)
EACCES
µö²Ä¤¬¤Ê¤¤ (POSIX.1)
EADDRINUSE
¥¢¥É¥ì¥¹¤¬¤¹¤Ç¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤ë (POSIX.1)
EADDRNOTAVAIL
¥¢¥É¥ì¥¹¤¬»ÈÍѤǤ­¤Ê¤¤ (POSIX.1)
EAFNOSUPPORT
¥¢¥É¥ì¥¹¡¦¥Õ¥¡¥ß¥ê¡¼¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤ (POSIX.1)
EAGAIN
¥ê¥½¡¼¥¹¤¬°ì»þŪ¤ËÍøÍÑÉÔ²Ä (EWOULDBLOCK ¤ÈƱ¤¸ÃͤǤâ¤è¤¤) (POSIX.1)
EALREADY
Àܳ¤¬´û¤Ë½èÍýÃæ¤Ç¤¢¤ë (POSIX.1)
EBADE
ÉÔÀµ¤Ê¤ä¤ê¼è¤ê (exchange) ¤Ç¤¢¤ë
EBADF
¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬ÉÔÀµ¤Ç¤¢¤ë (POSIX.1)
EBADFD
¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬ÉÔÀµ¤Ê¾õÂ֤Ǥ¢¤ë
EBADMSG
¥á¥Ã¥»¡¼¥¸¤¬ÉÔÀµ¤Ç¤¢¤ë (POSIX.1)
EBADR
ÉÔÀµ¤Ê¥ê¥¯¥¨¥¹¥È¥Ç¥£¥¹¥¯¥ê¥×¥¿
EBADRQC
ÉÔÀµ¤Ê¥ê¥¯¥¨¥¹¥È¥³¡¼¥É
EBADSLT
ÉÔÀµ¤Ê¥¹¥í¥Ã¥È
EBUSY
¥ê¥½¡¼¥¹¤¬»ÈÍÑÃæ¤Ç¤¢¤ë (POSIX.1)
ECANCELED
Áàºî¤¬¥­¥ã¥ó¥»¥ë¤µ¤ì¤¿ (POSIX.1)
ECHILD
»Ò¥×¥í¥»¥¹¤¬Ìµ¤¤ (POSIX.1)
ECHRNG
¥Á¥ã¥ó¥Í¥ëÈֹ椬Èϰϳ°¤Ç¤¢¤ë
ECOMM
Á÷¿®»þ¤ËÄÌ¿®¥¨¥é¡¼¤¬È¯À¸¤·¤¿
ECONNABORTED
Àܳ¤¬Ãæ»ß¤µ¤ì¤¿ (POSIX.1)
ECONNREFUSED
Àܳ¤¬µñÈݤµ¤ì¤¿ (POSIX.1)
ECONNRESET
Àܳ¤¬¥ê¥»¥Ã¥È¤µ¤ì¤¿ (POSIX.1)
EDEADLK
¥ê¥½¡¼¥¹¤Î¥Ç¥Ã¥É¥í¥Ã¥¯¤ò²óÈò¤·¤¿ (POSIX.1)
EDEADLOCK
EDEADLK ¤ÎƱµÁ¸ì
EDESTADDRREQ
°¸À襢¥É¥ì¥¹¤¬É¬ÍפǤ¢¤ë (POSIX.1)
EDOM
¿ô³Ø´Ø¿ô¤Ç°ú¤­¿ô¤¬Îΰ賰¤Ç¤¢¤ë (out of domain)
EDQUOT
¥Ç¥£¥¹¥¯¡¦¥¯¥©¡¼¥¿ (quota) ¤òĶ²á¤·¤¿ (POSIX.1)
EEXIST
¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë (POSIX.1)
EFAULT
¥¢¥É¥ì¥¹¤¬ÉÔÀµ¤Ç¤¢¤ë (POSIX.1)
EFBIG
¥Õ¥¡¥¤¥ë¤¬Â礭²á¤®¤ë (POSIX.1)
EHOSTDOWN
¥Û¥¹¥È¤¬¥À¥¦¥ó¤·¤Æ¤¤¤ë
EHOSTUNREACH
¥Û¥¹¥È¤ËÅþãÉÔǽ¤Ç¤¢¤ë (POSIX.1)
EIDRM
¼±Ê̻Ҥ¬ºï½ü¤µ¤ì¤¿ (POSIX.1)
EILSEQ
ÉÔÀµ¤Ê¥Ð¥¤¥ÈÎó (POSIX.1, C99)
EINPROGRESS
Áàºî¤¬¼Â¹ÔÃæ¤Ç¤¢¤ë (POSIX.1)
EINTR
´Ø¿ô¸Æ¤Ó½Ð¤·¤¬³ä¤ê¹þ¤Þ¤ì¤¿ (POSIX.1)
EINVAL
°ú¿ô¤¬Ìµ¸ú¤Ç¤¢¤ë (POSIX.1)
EIO
Æþ½ÐÎÏ¥¨¥é¡¼ (POSIX.1)
EISCONN
¥½¥±¥Ã¥È¤¬Àܳ¤µ¤ì¤Æ¤¤¤ë (POSIX.1)
EISDIR
¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë (POSIX.1)
EISNAM
̾Á°ÉÕ¤­¤Î¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë
EKEYEXPIRED
¸°¤¬´ü¸ÂÀÚ¤ì¤È¤Ê¤Ã¤¿
EKEYREJECTED
¸°¤¬¥µ¡¼¥Ð¤Ë¤è¤êµñÈݤµ¤ì¤¿
EKEYREVOKED
¸°¤¬Ìµ¸ú¤È¤Ê¤Ã¤¿
EL2HLT
Ää»ß (¥ì¥Ù¥ë 2)
EL2NSYNC
Ʊ´ü¤Ç¤­¤Æ¤¤¤Ê¤¤ (¥ì¥Ù¥ë 2)
EL3HLT
Ää»ß (¥ì¥Ù¥ë 3)
EL3RST
¥ê¥»¥Ã¥È (¥ì¥Ù¥ë 3)
ELIBACC
ɬÍפʶ¦Í­¥é¥¤¥Ö¥é¥ê¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤«¤Ã¤¿
ELIBBAD
²õ¤ì¤¿¶¦Í­¥é¥¤¥Ö¥é¥ê¤Ë¥¢¥¯¥»¥¹¤·¤è¤¦¤È¤·¤¿
ELIBMAX
¥ê¥ó¥¯¤·¤è¤¦¤È¤·¤¿¶¦Í­¥é¥¤¥Ö¥é¥ê¤¬Â¿²á¤®¤ë
ELIBSCN
a.out ¤Î¥é¥¤¥Ö¥é¥ê¥»¥¯¥·¥ç¥ó¤¬²õ¤ì¤Æ¤¤¤ë (corrupted)
ELIBEXEC
¶¦Í­¥é¥¤¥Ö¥é¥ê¤òľÀܼ¹ԤǤ­¤Ê¤«¤Ã¤¿
ELOOP
¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Î²ó¿ô¤¬Â¿²á¤®¤ë (POSIX.1)
EMEDIUMTYPE
´Ö°ã¤Ã¤¿¥á¥Ç¥£¥¢¼ïÊ̤Ǥ¢¤ë
EMFILE
¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤¬Â¿²á¤®¤ë (POSIX.1)
EMLINK
¥ê¥ó¥¯¤¬Â¿²á¤®¤ë (POSIX.1)
EMSGSIZE
¥á¥Ã¥»¡¼¥¸¤¬Ä¹²á¤®¤ë (POSIX.1)
EMULTIHOP
¥Þ¥ë¥Á¥Û¥Ã¥× (multihop) ¤ò»î¤ß¤¿ (POSIX.1)
ENAMETOOLONG
¥Õ¥¡¥¤¥ë̾¤¬Ä¹²á¤®¤ë (POSIX.1)
ENETDOWN
¥Í¥Ã¥È¥ï¡¼¥¯¤¬ÉÔÄ̤Ǥ¢¤ë (POSIX.1)
ENETRESET
Àܳ¤¬¥Í¥Ã¥È¥ï¡¼¥¯Â¦¤«¤éÃæ»ß¤µ¤ì¤¿ (POSIX.1)
ENETUNREACH
¥Í¥Ã¥È¥ï¡¼¥¯¤¬ÅþãÉÔǽ¤Ç¤¢¤ë (POSIX.1)
ENFILE
¥·¥¹¥Æ¥àÁ´ÂΤǥª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤¬Â¿²á¤®¤ë (POSIX.1)
ENOBUFS
»ÈÍѲÄǽ¤Ê¥Ð¥Ã¥Õ¥¡¶õ´Ö¤¬¤Ê¤¤ (POSIX.1 (XSI STREAMS option))
ENODATA
¥¹¥È¥ê¡¼¥à¤ÎÆɤ߽Ф·¥­¥å¡¼¤ÎÀèƬ¤ËÆɤ߽Ф·²Äǽ¤Ê¥á¥Ã¥»¡¼¥¸¤¬¤Ê¤¤ (POSIX.1)
ENODEV
¤½¤Î¤è¤¦¤Ê¥Ç¥Ð¥¤¥¹¤Ï̵¤¤ (POSIX.1)
ENOENT
¤½¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤Ï̵¤¤ (POSIX.1)
ENOEXEC
¼Â¹Ô¥Õ¥¡¥¤¥ë·Á¼°¤Î¥¨¥é¡¼ (POSIX.1)
ENOKEY
Í׵ᤵ¤ì¤¿¸°¤¬ÍøÍѤǤ­¤Ê¤¤
ENOLCK
ÍøÍѤǤ­¤ë¥í¥Ã¥¯¤¬Ìµ¤¤ (POSIX.1)
ENOLINK
¥ê¥ó¥¯¤¬ÀÚ¤ì¤Æ¤¤¤ë (POSIX.1)
ENOMEDIUM
¥á¥Ç¥£¥¢¤¬¸«¤Ä¤«¤é¤Ê¤¤
ENOMEM
½½Ê¬¤Ê¶õ¤­¥á¥â¥êÎΰ褬̵¤¤ (POSIX.1)
ENOMSG
Í׵ᤵ¤ì¤¿·¿¤Î¥á¥Ã¥»¡¼¥¸¤¬Â¸ºß¤·¤Ê¤¤ (POSIX.1)
ENONET
¥Þ¥·¥ó¤¬¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Ë¤Ê¤¤
ENOPKG
¥Ñ¥Ã¥±¡¼¥¸¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤
ENOPROTOOPT
»ØÄꤵ¤ì¤¿¥×¥í¥È¥³¥ë¤¬ÍøÍѤǤ­¤Ê¤¤ (POSIX.1)
ENOSPC
¥Ç¥Ð¥¤¥¹¤Ë¶õ¤­Îΰ褬̵¤¤ (POSIX.1)
ENOSR
»ØÄꤵ¤ì¤¿¥¹¥È¥ê¡¼¥à¡¦¥ê¥½¡¼¥¹¤¬Â¸ºß¤·¤Ê¤¤ (POSIX.1 (XSI STREAMS option))
ENOSTR
¥¹¥È¥ê¡¼¥à¤Ç¤Ï¤Ê¤¤ (POSIX.1 (XSI STREAMS option))
ENOSYS
´Ø¿ô¤¬¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤ (POSIX.1)
ENOTBLK
¥Ö¥í¥Ã¥¯¥Ç¥Ð¥¤¥¹¤¬É¬ÍפǤ¢¤ë
ENOTCONN
¥½¥±¥Ã¥È¤¬Àܳ¤µ¤ì¤Æ¤¤¤Ê¤¤ (POSIX.1)
ENOTDIR
¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤Ê¤¤ (POSIX.1)
ENOTEMPTY
¥Ç¥£¥ì¥¯¥È¥ê¤¬¶õ¤Ç¤Ï¤Ê¤¤ (POSIX.1)
ENOTSOCK
¥½¥±¥Ã¥È¤Ç¤Ï¤Ê¤¤ (POSIX.1)
ENOTSUP
Áàºî¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤ (POSIX.1)
ENOTTY
I/O À©¸æÁàºî¤¬Å¬ÀڤǤʤ¤ (POSIX.1)
ENOTUNIQ
̾Á°¤¬¥Í¥Ã¥È¥ï¡¼¥¯¤Ç°ì°Õ¤Ç¤Ï¤Ê¤¤
ENXIO
¤½¤Î¤è¤¦¤Ê¥Ç¥Ð¥¤¥¹¤ä¥¢¥É¥ì¥¹¤Ï¤Ê¤¤ (POSIX.1)
EOPNOTSUPP
¥½¥±¥Ã¥È¤Ç¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤Áàºî¤Ç¤¢¤ë (POSIX.1)

(Linux ¤Ç¤Ï ENOTSUP ¤È EOPNOTSUPP ¤ÏƱ¤¸Ãͤò»ý¤Ã¤Æ¤¤¤ë¤¬¡¢ POSIX.1 ¤Ç¤Ïξ¼Ô¤Î¥¨¥é¡¼¤ÎÃͤ϶èÊ̤µ¤ì¤ëɬÍפ¬¤¢¤ë¡£)

EOVERFLOW
»ØÄꤵ¤ì¤¿¥Ç¡¼¥¿·¿¤Ë³ÊǼ¤¹¤ë¤Ë¤ÏÃͤ¬Â礭²á¤®¤ë (POSIX.1)
EPERM
Áàºî¤¬µö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤ (POSIX.1)
EPFNOSUPPORT
¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥×¥í¥È¥³¥ë¥Õ¥¡¥ß¥ê¡¼¤Ç¤¢¤ë
EPIPE
¥Ñ¥¤¥×¤¬²õ¤ì¤Æ¤¤¤ë (POSIX.1)
EPROTO
¥×¥í¥È¥³¥ë¡¦¥¨¥é¡¼ (POSIX.1)
EPROTONOSUPPORT
¥×¥í¥È¥³¥ë¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤ (POSIX.1)
EPROTOTYPE
¥½¥±¥Ã¥È¤Ë»ØÄê¤Ç¤­¤Ê¤¤¥×¥í¥È¥³¥ë¡¦¥¿¥¤¥×¤Ç¤¢¤ë (POSIX.1)
ERANGE
·ë²Ì¤¬Â礭²á¤®¤ë (POSIX.1, C99)
EREMCHG
¥ê¥â¡¼¥È¥¢¥É¥ì¥¹¤¬ÊѤï¤Ã¤¿
EREMOTE
¥ª¥Ö¥¸¥§¥¯¥È¤¬¥ê¥â¡¼¥È¤Ë¤¢¤ë
EREMOTEIO
¥ê¥â¡¼¥È I/O ¥¨¥é¡¼
ERESTART
¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬ÃæÃǤµ¤ìºÆ¥¹¥¿¡¼¥È¤¬É¬ÍפǤ¢¤ë
EROFS
Æɤ߽Ф·ÀìÍѤΥե¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤¢¤ë (POSIX.1)
ESHUTDOWN
ÄÌ¿®Áê¼ê¤¬¥·¥ã¥Ã¥È¥À¥¦¥ó¤µ¤ì¤ÆÁ÷¿®¤Ç¤­¤Ê¤¤
ESPIPE
̵¸ú¤Ê¥·¡¼¥¯ (POSIX.1)
ESOCKTNOSUPPORT
¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥½¥±¥Ã¥È¼ïÊ̤Ǥ¢¤ë
ESRCH
¤½¤Î¤è¤¦¤Ê¥×¥í¥»¥¹¤Ï̵¤¤ (POSIX.1)
ESTALE
¥Õ¥¡¥¤¥ë¥Ï¥ó¥É¥ë¤¬¸Å¤¤¾õÂ֤ˤʤäƤ¤¤ë (POSIX.1)

NFS ¤ä¾¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Çµ¯¤³¤ê¤¦¤ë¡£

ESTRPIPE
¥¹¥È¥ê¡¼¥à¡¦¥Ñ¥¤¥×¡¦¥¨¥é¡¼
ETIME
»þ´Ö¤¬·Ð²á¤·¤¿ (POSIX.1 (XSI STREAMS option))

(POSIX.1 ¤Ç¤Ï "STREAM ioctl(2) timeout" ¤È½ñ¤«¤ì¤Æ¤¤¤ë)

ETIMEDOUT
Áàºî¤¬¥¿¥¤¥à¥¢¥¦¥È¤·¤¿ (POSIX.1)
ETXTBSY
¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤¬»ÈÍÑÃæ¤Ç¤¢¤ë (POSIX.1)
EUCLEAN
Structure needs cleaning
EUNATCH
¥×¥í¥È¥³¥ë¤Î¥É¥é¥¤¥Ð¤¬ÉÕÍ¿ (attach) ¤µ¤ì¤Æ¤¤¤Ê¤¤
EUSERS
¥æ¡¼¥¶¿ô¤¬Â¿²á¤®¤ë
EWOULDBLOCK
Áàºî¤¬¥Ö¥í¥Ã¥¯¤µ¤ì¤ë¸«¹þ¤ß¤Ç¤¢¤ë (EAGAIN ¤ÈƱ¤¸ÃͤǤâ¤è¤¤) (POSIX.1)
EXDEV
ÉÔŬÀڤʥê¥ó¥¯ (POSIX.1)
EXFULL
ÊÑ´¹¥Æ¡¼¥Ö¥ë¤¬°ìÇդǤ¢¤ë

Ãí°Õ

°Ê²¼¤Ï¤è¤¯¤ä¤ë´Ö°ã¤¤¤Ç¤¢¤ë¡£



if (somecall() == -1) {

    printf("somecall() failed\n");

    if (errno == ...) { ... }

}



¤³¤Î¤è¤¦¤Ë¤¹¤ë¤È¡¢»²¾È¤·¤Æ¤¤¤ë»þÅÀ¤Ç¤Ï errno ¤Ï¤â¤Ï¤ä somecall() ¤«¤éÊÖ¤µ¤ì¤¿ÃͤòÊÝ»ý¤·¤Æ¤¤¤ë¤È¤Ï¸Â¤é¤Ê¤¤ (printf(3) ¤Ë¤è¤êÊѹ¹¤µ¤ì¤Æ¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤)¡£ ¥é¥¤¥Ö¥é¥ê¥³¡¼¥ë¤ò¤Þ¤¿¤¤¤Ç errno ¤ÎÃͤòÊݸ¤·¤¿¤¤¾ì¹ç¤Ï¡¢°Ê²¼¤Î¤è¤¦¤ËÊݸ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤:



if (somecall() == -1) {

    int errsv = errno;

    printf("somecall() failed\n");

    if (errsv == ...) { ... }

}

ÀΤΠC ¤Ç¤Ï¡¢ <errno.h> ¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯ errno ¤ò¼êÆ°¤Ç (extern int errno ¤Î¤è¤¦¤Ë) ÄêµÁ¤¹¤ë¤Î¤¬°ìÈÌŪ¤Ç¤¢¤Ã¤¿¡£ ¤³¤Î¤è¤¦¤Ê¤³¤È¤Ï¤·¤Ê¤¤¤³¤È¡£ ¤³¤¦¤¹¤ë¤È¡¢ºÇ¶á¤Î¥Ð¡¼¥¸¥ç¥ó¤Î C ¥é¥¤¥Ö¥é¥ê¤Ç¤ÏÀµ¤·¤¯Æ°ºî¤·¤Ê¤¤¤À¤í¤¦¡£ ¤·¤«¤·¡¢(Èó¾ï¤Ë) ¸Å¤¤ Unix ¥·¥¹¥Æ¥à¤Ç¤Ï¡¢ <errno.h> ¤¬¤Ê¤¯¡¢Àë¸À¤¬É¬Íפʤ³¤È¤¬¤¢¤ë¤«¤â¤·¤ì¤Ê¤¤¡£ err(3), error(3), perror(3), strerror(3)