setlocale

Autres langues

Langue: ja

Version: July 4, 1999 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

̾Á°

setlocale - ¸½ºß¤Î¥í¥±¡¼¥ë (locale) ¤òÀßÄꤹ¤ë

½ñ¼°


#include <locale.h>



char *setlocale(int category, const char *locale);

ÀâÌÀ

setlocale() ´Ø¿ô¤Ï¥×¥í¥°¥é¥à¤Î¥«¥ì¥ó¥È¥í¥±¡¼¥ë¤òÀßÄꤷ¤¿¤ê Ì䤤¹ç¤ï¤»¤¿¤ê¤¹¤ë¤Î¤ËÍѤ¤¤é¤ì¤ë¡£

locale ¤¬ NULL ¤Ç¤Ê¤±¤ì¤Ð¡¢¥×¥í¥°¥é¥à¤Î¥«¥ì¥ó¥È¥í¥±¡¼¥ë¤Ï°ú¤­¿ô¤Ë½¾¤Ã¤ÆÊѹ¹¤µ¤ì¤ë¡£ °ú¤­¿ô category ¤Ï¥×¥í¥°¥é¥à¤Î¥«¥ì¥ó¥È¥í¥±¡¼¥ë¤Î¤É¤ÎÉôʬ¤òÊѹ¹¤¹¤ë¤«¤ò·è¤á¤ë¡£

LC_ALL
Á´¤Æ¤Î¥í¥±¡¼¥ë
LC_COLLATE
Àµµ¬É½¸½¤Î¥Þ¥Ã¥Á¥ó¥° (ÈÏ°Ïɽ¸½¤ÈÅù²Á¥¯¥é¥¹¤Î¥Þ¥Ã¥Á¥ó¥°¤ò·èÄꤹ¤ë) ¤Èʸ»úÎó¤Î¾È¹ç (collation)
LC_CTYPE
Àµµ¬É½¸½¤Î¥Þ¥Ã¥Á¥ó¥°¡¢Ê¸»ú¤ÎʬÎࡢʸ»ú¤ÎÊÑ´¹¡¢Âçʸ»ú¾®Ê¸»úÈæ³Ó¡¢ ¥ï¥¤¥Éʸ»ú´Ø¿ô
LC_MESSAGES
ÃÏ°è²½²Äǽ¤Ê¼«Á³¸À¸ì¥á¥Ã¥»¡¼¥¸
LC_MONETARY
Ä̲ߤνñ¼°
LC_NUMERIC
¿ôÃͤνñ¼° (¾®¿ôÅÀ¤ä 3 ·å¤´¤È¤Î¶èÀÚ¤ê)
LC_TIME
»þ¹ï¤ÈÆüÉÕ¤±¤Î½ñ¼°

°ú¤­¿ô locale ¤Ï category ¤ËÀßÄꤹ¤ëʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£ ¤³¤Îʸ»úÎó¤Ï¤è¤¯ÃΤé¤ì¤¿Äê¿ô¤Ç¤¢¤ë "C" ¤ä "da_DK" ¤Ê¤É¤Ç¤âÎɤ¤¤· (°Ê²¼¤ò»²¾È)¡¢Â¾¤Î¤È¤­¤Ë setlocale() ¤ò¸Æ¤Ó½Ð¤·¤¿ºÝ¤ËÊÖ¤µ¤ì¤¿¡¢ÆâÉôÍѤÎʸ»úÎó¤Ç¤âÎɤ¤¡£

locale ¤¬ "" ¤Î¾ì¹ç¡¢¥í¥±¡¼¥ë¤Î³ÆÉôʬ¤ÎÀßÄê¤Ë¤Ï´Ä¶­ÊÑ¿ô¤¬»²¾È¤µ¤ì¤ë¡£ ¤½¤Î¾ÜºÙ¤Ï¼ÂÁõ°Í¸¤Ç¤¢¤ë¡£ glibc ¤Î¾ì¹ç¡¢¤Þ¤ººÇ½é¤Ë (¤É¤ó¤Ê category ¤ËÂФ·¤Æ¤â) ´Ä¶­ÊÑ¿ô LC_ALL ¤¬¸¡ºº¤µ¤ì¤ë¡£ ¼¡¤Ë¥«¥Æ¥´¥ê (category) ¤ÈƱ¤¸Ì¾Á°¤Î´Ä¶­ÊÑ¿ô (LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_MONETARY, LC_NUMERIC, LC_TIME) ¤¬¸¡ºº¤µ¤ì¡¢ºÇ¸å¤Ë´Ä¶­ÊÑ¿ô LANG ¤¬¸¡ºº¤µ¤ì¤ë¡£ ºÇ½é¤Ë¸«¤Ä¤«¤Ã¤¿´Ä¶­ÊÑ¿ô¤ò»ÈÍѤ¹¤ë¡£ ¤½¤ÎÃͤ¬¥í¥±¡¼¥ë»ØÄê¤È¤·¤ÆÀµ¤·¤¯¤Ê¤±¤ì¤Ð¡¢¥í¥±¡¼¥ë¤ÏÊѹ¹¤µ¤ì¤º¡¢ setlocale() ¤Ï NULL ¤òÊÖ¤¹¡£

"C" ¥í¥±¡¼¥ë¤ä "POSIX" ¥í¥±¡¼¥ë¤Ï¸ß´¹À­¤Î¤¢¤ë¥í¥±¡¼¥ë¤Ç¤¢¤ë¡£ ¤³¤Î LC_CTYPE ¤ÎÉôʬ¤Ï 7 ¥Ó¥Ã¥È ASCII ʸ»ú½¸¹ç¤ËÁêÅö¤·¤Æ¤¤¤ë¡£

¥í¥±¡¼¥ë̾¤Î½ñ¼°¤Ï¡¢Ä̾ï language[_territory][.codeset][@modifier] ¤È¤¤¤¦¤â¤Î¤Ç¤¢¤ë¡£ ¤³¤³¤Ç language ¤Ï ISO 639 ¤Î¸À¸ì¥³¡¼¥É¤Ç¤¢¤ë¡£ territory ¤Ï ISO 3166 ¤Î¹ñ̾¥³¡¼¥É¤Ç¤¢¤ë¡£ codeset ¤Ï ISO-8859-1 ¤ä UTF-8 ¤Î¤è¤¦¤Êʸ»ú½¸¹ç¤äʸ»úÉä¹æ²½¼±Ê̻ҤǤ¢¤ë¡£ ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥í¥±¡¼¥ë¤Î°ìÍ÷¤òÆÀ¤ë¤Ë¤Ï¡¢ "locale -a" ¤ò¼Â¹Ô¤·¤Æ¤ß¤è (locale(1) »²¾È¤Î¤³¤È)¡£

locale ¤¬ NULL ¤Ê¤é¤Ð¡¢¸½ºß¤Î¥í¥±¡¼¥ë¤òÌ䤤¹ç¤ï¤»¤ë¤Î¤ß¤ÇÊѹ¹¤Ï¤·¤Ê¤¤¡£

main ¥×¥í¥°¥é¥à¤Îµ¯Æ°»þ¤Ë¤Ï¡¢ ¸ß´¹À­¤Î¤¢¤ë "C" ¥í¥±¡¼¥ë¤¬¥Ç¥Õ¥©¥ë¥È¤ÇÁªÂò¤µ¤ì¤ë¡£ ¥×¥í¥°¥é¥à¤ò¤¹¤Ù¤Æ¤Î¥í¥±¡¼¥ë¤ËÂФ·¤Æ¸ß´¹¤Ë¤·¤¿¤±¤ì¤Ð¡¢ ¥×¥í¥°¥é¥à¤Î½é´ü²½¤Î¸å¤Ë setlocale(LC_ALL, "*") ¤ò¸Æ¤Ó½Ð¤·¡¢¥í¥±¡¼¥ë°Í¸¤Î¾ðÊó¤Ë¤Ï localeconv(3) ¤ÎÊÖ¤êÃͤòÍѤ¤¡¢ MB_CUR_MAX > 1 ¤Î¾ì¹ç¤Ë¤Ïʸ»úÎó¤ÎÁàºî¤Ë¤Ï¿¥Ð¥¤¥Èʸ»ú¡¢¥ï¥¤¥Éʸ»ú´Ø¿ô¤ò»ÈÍѤ·¡¢ ʸ»úÎó¤ÎÈæ³Ó¤Ë¤Ï strcoll(3), wcscoll(3) ¤ä strxfrm(3), wcsxfrm(3) ¤òÍѤ¤¤ë¡£

ÊÖ¤êÃÍ

setlocale() ¤Î¸Æ¤Ó½Ð¤·¤ËÀ®¸ù¤¹¤ë¤È¡¢ ¤½¤Î¥í¥±¡¼¥ë½¸¹ç¤ËÂбþ¤¹¤ëÆâÉôʸ»úÎó (opaque string) ¤òÊÖ¤¹¡£ ¤³¤Îʸ»úÎó¤ÏÀÅŪ¤Êµ­²±°è¤Ë³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤¡£ ¤³¤ÎÊ֤äÆÍ褿ʸ»úÎó¤ò¡¢¥«¥Æ¥´¥ê»ØÄê¤È¶¦¤Ë¡¢ ¤Î¤Á¤Î setlocale ¤Î¸Æ¤Ó½Ð¤·¤Ë»ØÄꤹ¤ì¤Ð¡¢ ¥×¥í¥»¥¹¤Î¤½¤ÎÉôʬ¤Î¥í¥±¡¼¥ë¤¬Éü¸µ¤µ¤ì¤ë¡£ ÀßÄê¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï¡¢ÊÖ¤êÃÍ¤Ï NULL ¤Ë¤Ê¤ë¡£

½àµò

C89, C99, POSIX.1-2001.

Ãí°Õ

Linux (¤È¤¤¤¦¤« GNU libc) ¤Ï¸ß´¹À­¤Î¤¢¤ë¥í¥±¡¼¥ë¤È¤·¤Æ "C" ¤È "POSIX" ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡£ ¸Å¤­¤è¤­»þÂå¤Ë¤Ï (Î㤨¤Ð libc-4.5.21 ¤È libc-4.6.27 ¤Ê¤É¤Ç¤Ï)¡¢ European Latin-1 ¸þ¤±¤Ë "ISO-8859-1" ¥í¥±¡¼¥ë¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤ª¤ê¡¢ ¥í¥·¥¢¸ì (Russian) ¸þ¤±¤Ë "KOI-8" (¤è¤êÀµ³Î¤Ë¤Ï "koi-8r") ¥í¥±¡¼¥ë¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤¿¡£ ½¾¤Ã¤Æ´Ä¶­ÊÑ¿ô¤ò LC_CTYPE=ISO-8859-1 ¤È»ØÄꤹ¤ë¤À¤±¤Ç isprint(3) ¤ÏÀµ¤·¤¤Åú¤¨¤òÊÖ¤·¤¿¡£ ºÇ¶á¤Ç¤Ï¡¢±Ñ¸ì°Ê³°¤ò»È¤¦¥è¡¼¥í¥Ã¥Ñ¿Í¤Ï¤â¤¦¾¯¡¹¤ä¤Ã¤«¤¤¤Êºî¶È¤òɬÍפȤ·¡¢ ¼ÂºÝ¤Î¥í¥±¡¼¥ë¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

´ØÏ¢¹àÌÜ

locale(1), localedef(1), isalpha(3), localeconv(3), nl_langinfo(3), rpmatch(3), strcoll(3), strftime(3), charsets(4), locale(7)