strerror

Autres langues

Langue: ja

Version: 2005-12-13 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

̾Á°

strerror, strerror_r - ¥¨¥é¡¼ÈÖ¹æ¤òÀâÌÀ¤¹¤ëʸ»úÎó¤òÊÖ¤¹¡£

½ñ¼°


#include <string.h>



char *strerror(int errnum);



char *strerror_r(int errnum, char *buf, size_t buflen);

                        /* GNU »ÅÍͤΠstrerror_r() */



#define _XOPEN_SOURCE 600

#include <string.h>



int strerror_r(int errnum, char *buf, size_t buflen);

                        /* XSI ½àµò¤Î strerror_r() */

ÀâÌÀ

strerror() ´Ø¿ô¤Ï¡¢°ú¤­¿ô errnum ¤ÎÃæ¤Ç°ú¤­ÅϤµ¤ì¤ë ¥¨¥é¡¼¥³¡¼¥É¤òÀâÌÀ¤¹¤ëʸ»úÎó¤òÊÖ¤¹¡£ ²Äǽ¤Ç¤¢¤ë¤Ê¤é¤Ð¡¢Å¬ÀڤʸÀ¸ì¤òÁªÂò¤¹¤ë¤¿¤á¤Ë¡¢ ¸½ºß¤Î¥í¥±¡¼¥ë¤Î LC_MESSAGES ¤ò»È¤¦¡£ ¤³¤Îʸ»úÎó¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÇÊѹ¹¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¤¬¡¢ ¤½¤Î¸å¤Ëµ¯¤³¤ë perror(3) ¤ä strerror() ¤Î¸Æ¤Ó½Ð¤·¤Ç Êѹ¹¤µ¤ì¤Æ¤â¹½¤ï¤Ê¤¤¡£ ¤³¤Îʸ»úÎó¤òÊѹ¹¤¹¤ë¥é¥¤¥Ö¥é¥ê´Ø¿ô¤Ï¤Ê¤¤¡£

strerror_r() ´Ø¿ô¤Ï strerror() ¤È»÷¤Æ¤¤¤ë¤¬¡¢ ¥¹¥ì¥Ã¥É¥»¡¼¥Õ¤Ç¤¢¤ë¡£ ¤³¤Î´Ø¿ô¤Ë¤ÏÆó¼ïÎà¤Î¥Ð¡¼¥¸¥ç¥ó¤¬Â¸ºß¤·¡¢ POSIX.1-2001 ¤Çµ¬Äꤵ¤ì¤¿ XSI ½àµò¤Î¥Ð¡¼¥¸¥ç¥ó¤È¡¢ GNU »ÅÍͤΥС¼¥¸¥ç¥ó (glibc 2.0 °Ê¹ß¤ÇÍøÍѲÄǽ) ¤Ç¤¢¤ë¡£ _XOPEN_SOURCE ¤¬ 600 ¤ËÄêµÁ¤µ¤ì¤ë¤È XSI ½àµò¤Î¥Ð¡¼¥¸¥ç¥ó¤¬Ä󶡤µ¤ì¡¢ ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ë¤Ï GNU »ÅÍͤΥС¼¥¸¥ç¥ó¤¬Ä󶡤µ¤ì¤ë¡£

°Ü¿¢À­¤¬É¬Íפʥ¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¡¢ XSI ½àµò¤Î strerror_r() ¤ò»È¤¦Êý¤¬¤è¤¤¡£ ¤³¤Î´Ø¿ô¤Ï¡¢¥æ¡¼¥¶¡¼¤«¤éÄ󶡤µ¤ì¤ëŤµ buflen ¤Î¥Ð¥Ã¥Õ¥¡ buf ¤Ë¥¨¥é¡¼Ê¸»úÎó¤òÊÖ¤¹¡£

GNU »ÅÍͤΠstrerror_r() ¤Ï¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò³ÊǼ¤·¤¿Ê¸»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤¹¡£ ÊÖ¤êÃͤϡ¢¤³¤Î´Ø¿ô¤¬ buf ¤Ë³ÊǼ¤·¤¿Ê¸»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤«¡¢ ²¿¤é¤«¤Î (ÉÔÊѤÊ) ÀÅŪ¤Êʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¢¤Î¤¤¤º¤ì¤«¤È¤Ê¤ë (¸å¼Ô¤Î¾ì¹ç¤Ï buf ¤Ï»ÈÍѤµ¤ì¤Ê¤¤)¡£ buf ¤Ëʸ»úÎ󤬳ÊǼ¤µ¤ì¤ë¾ì¹ç¤Ï¡¢ ºÇÂç¤Ç buflen ¥Ð¥¤¥È¤¬³ÊǼ¤µ¤ì (buflen ¤¬¾®¤µ²á¤®¤¿¤È¤­¤Ë¤Ïʸ»úÎó¤ÏÀÚ¤êµÍ¤á¤é¤ì¤ë)¡¢ ʸ»úÎó¤Ë¤Ïɬ¤º½ªÃ¼¥Ì¥ëʸ»ú¤¬´Þ¤Þ¤ì¤ë¡£

ÊÖ¤êÃÍ

strerror() ¤È strerror_r() ¤Ï¥¨¥é¡¼ÆâÍƤòÀâÌÀ¤¹¤ë ʸ»úÎó¤òÊÖ¤¹¡£¥¨¥é¡¼Èֹ椬̤ÃΤξì¹ç¤Ï "Unknown error nnn" ¤È¤¤¤¦ ¥á¥Ã¥»¡¼¥¸¤òÊÖ¤¹¡£

XSI ½àµò¤Î strerror_r() ´Ø¿ô¤ÏÀ®¸ù¤¹¤ë¤È 0 ¤òÊÖ¤¹¡£ ¥¨¥é¡¼¤Î¾ì¹ç¤Ë¤Ï¡¢ -1 ¤òÊÖ¤·¡¢ errno ¤Ë¥¨¥é¡¼ÆâÍƤò¼¨¤¹Ãͤò¥»¥Ã¥È¤¹¤ë¡£

¥¨¥é¡¼

EINVAL
errnum ¤ÎÃͤ¬Í­¸ú¤Ê¥¨¥é¡¼ÈÖ¹æ¤Ç¤Ï¤Ê¤¤¡£
ERANGE
¥¨¥é¡¼¥³¡¼¥É¤òÀâÌÀ¤¹¤ëʸ»úÎó¤Î¤¿¤á¤Ë¡¢½¼Ê¬¤ÊÎΰ褬³ÎÊݤǤ­¤Ê¤«¤Ã¤¿¡£

½àµò

strerror() ¤Ï POSIX.1-2001, C89, C99 ¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¡£ strerror_r() ¤Ï POSIX.1-2001 ¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¡£

GNU »ÅÍͤΠstrerror_r() ´Ø¿ô¤ÏÈóɸ½à¤Î³ÈÄ¥¤Ç¤¢¤ë¡£

POSIX.1-2001 ¤Ï¡¢ strerror() ¤¬¥¨¥é¡¼¤ËÁø¶ø¤·¤¿¾ì¹ç¤Ë errno ¤ò¥»¥Ã¥È¤¹¤ë¤³¤È¤òǧ¤á¤Æ¤¤¤ë¤¬¡¢¥¨¥é¡¼È¯À¸»þ¤Ë´Ø¿ô¤Î·ë²Ì¤È¤·¤Æ ¤É¤ó¤ÊÃͤòÊÖ¤¹¤Ù¤­¤«¤òµ¬Äꤷ¤Æ¤Ê¤¤¡£ ¤¢¤ë¥·¥¹¥Æ¥à¤Ç¤Ï¡¢ ¥¨¥é¡¼Èֹ椬̤ÃΤξì¹ç¡¢ strerror() ¤Ï NULL ¤òÊÖ¤¹¡£ ¾¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢ ¥¨¥é¡¼Èֹ椬̤ÃΤξì¹ç¡¢ strerror() ¤Ï "Error nnn occurred" ¤È¤¤¤Ã¤¿Ê¸»úÎó¤òÊÖ¤·¡¢ errno ¤Ë EINVAL ¤ò¥»¥Ã¥È¤¹¤ë¡£

´ØÏ¢¹àÌÜ

err(3), errno(3), error(3), perror(3), strsignal(3), feature_test_macros(7)