Rechercher une page de manuel
printf
Langue: ja
Version: 2000-10-16 (openSuse - 09/10/07)
Section: 3 (Bibliothèques de fonctions)
Sommaire
̾Á°
printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - »ØÄꤵ¤ì¤¿½ñ¼°¤ËÊÑ´¹¤·¤Æ½ÐÎϤò¹Ô¤¦½ñ¼°
#include <stdio.h>int printf(const char *format, ...);
int fprintf(FILE *stream, const char *format, ...);
int sprintf(char *str, const char *format, ...);
int snprintf(char *str, size_t size, const char *format, ...);
#include <stdarg.h>
int vprintf(const char *format, va_list ap);
int vfprintf(FILE *stream, const char *format, va_list ap);
int vsprintf(char *str, const char *format, va_list ap);
int vsnprintf(char *str, size_t size, const char *format, va_list ap);
ÀâÌÀ
printf() ´Ø¿ô¥°¥ë¡¼¥×¤Ï¡¢°Ê²¼¤Ç½Ò¤Ù¤ë¤è¤¦¤Ë¡¢ format ¤Ë½¾¤Ã¤Æ½ÐÎϤòÀ¸À®¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£ printf() ¤È vprintf() ¤Ï½ÐÎϤò stdout (ɸ½à½ÐÎÏ¥¹¥È¥ê¡¼¥à) ¤Ë½ñ¤½Ð¤¹¡£ fprintf() ¤È vfprintf() ¤Ï½ÐÎϤò»ØÄꤵ¤ì¤¿½ÐÎÏ stream ¤Ë½ñ¤½Ð¤¹¡£ sprintf(), snprintf(), vsprintf(), vsnprintf() ¤Ï½ÐÎϤòʸ»úÎó str ¤Ë½ñ¤¹þ¤à¡£vprintf(), vfprintf(), vsprintf(), vsnprintf() ¤Î³Æ´Ø¿ô¤Ï¤½¤ì¤¾¤ì printf(), fprintf(), sprintf(), snprintf(), ¤Î³Æ´Ø¿ô¤ÈÅù²Á¤Ç¤¢¤ê¡¢²ÄÊÑ¿ô°ú¤¿ô¤ÎÂå¤ï¤ê¤Ë va_list ¤ò °ú¤¿ô¤È¤·¤Æ¸Æ¤Ó½Ð¤µ¤ì¤ëÅÀ¤À¤±¤¬°Û¤Ê¤ë¡£ ¤³¤ì¤é¤Î´Ø¿ô¤Ç¤Ï va_end ¥Þ¥¯¥í¤Ï¸Æ¤Ó½Ð¤µ¤ì¤Ê¤¤¡£ ÅöÁ³¡¢¸Æ¤Ó½Ð¤·¸å¤Î ap ¤ÎÃͤÏ̤ÄêµÁ¤Ç¤¢¤ë¡£ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¸å¤Ç¼«Ê¬¤Ç va_end(ap) ¤ò¸Æ¤Ó½Ð¤¹É¬Íפ¬¤¢¤ë¡£
¤³¤ì¤é¤Î 8 ¤Ä¤Î´Ø¿ô¤Ï format ʸ»úÎó¤ÎÀ©¸æ¤Ë½¾¤Ã¤Æ½ÐÎϤò½ñ¤½Ð¤¹¡£ format ʸ»úÎó¤Ï¡¢¤³¤ì¤Ë³¤¯°ú¤¿ô (¤Þ¤¿¤Ï stdarg(3) ¤Î²ÄÊÑĹ°ú¤¿ôµ¡¹½¤ò»È¤Ã¤Æ¥¢¥¯¥»¥¹¤Ç¤¤ë°ú¤¿ô) ¤ò¤É¤Î¤è¤¦¤ËÊÑ´¹¤·¤Æ½ÐÎϤ¹¤ë¤«¤ò»ØÄꤹ¤ë¡£
ÊÖ¤êÃÍ
À®¸ù»þ¤Ë¤Ï¡¢¾åµ¤Î´Ø¿ô¤Ï½ñ¤¹þ¤Þ¤ì¤¿Ê¸»ú¿ô¤òÊÖ¤¹ (ʸ»úÎó¤ÎºÇ¸å¤ò¼¨¤¹¤¿¤á¤Ë»ÈÍѤ¹¤ë `\0' ¤Ï¿ô¤Ë´Þ¤Þ¤ì¤Ê¤¤)¡£ snprintf() ¤È vsnprintf() ¤Ï¡¢ size ¥Ð¥¤¥È¤ò±Û¤¨¤ëʸ»ú¿ô¤ò½ñ¤¹þ¤Þ¤Ê¤¤ (size ¤Ë¤Ïʸ»úÎó¤Î½ªÃ¼¤Ë¤¢¤ë '\0' ¤â¤ò´Þ¤Þ¤ì¤ë)¡£ ¤³¤ÎÀ©¸Â¤Ë¤è¤Ã¤Æ½ÐÎϤ¬ÀÚ¤êµÍ¤á¤é¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢ ¤â¤·½½Ê¬¤Ê¥¹¥Ú¡¼¥¹¤¬¤¢¤ì¤Ð½ñ¤¹þ¤Þ¤ì¤¿¤Ç¤¢¤í¤¦Ê¸»ú¤Î¸Ä¿ô (ʸ»úÎó¤Î½ªÃ¼¤Ë¤¢¤ë '\0' ¤ò½ü¤¯) ¤òÊÖ¤¹¡£ ½¾¤Ã¤Æ¡¢ÊÖ¤êÃͤ¬ size °Ê¾å¤À¤Ã¤¿¾ì¹ç¡¢½ÐÎϤ¬ÀÚ¤êµÍ¤á¤é¤ì¤¿¤³¤È¤ò°ÕÌ£¤¹¤ë (¸å½Ò¤ÎÃí°Õ¤â»²¾È¤Î¤³¤È)¡£ ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ï¡¢Éé¤Î¿ô¤òÊÖ¤¹¡£¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó¤Î¥Õ¥©¡¼¥Þ¥Ã¥È
¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó¤Ïʸ»ú¤ÎÎó¤Ç¡¢ (¤â¤·¤¢¤ë¤Ê¤é) ½é´ü¥·¥Õ¥È¾õÂ֤ǻϤޤꡢ½é´ü¥·¥Õ¥È¾õÂ֤ǽª¤ï¤ë¡£ ¥Õ¥©¡¼¥Þ¥Ã¥ÈÍѤÎʸ»úÎó¤Ï 0 ¸Ä°Ê¾å¤ÎÌ¿Îá (directives) ¤Ë¤è¤Ã¤Æ¹½À®¤µ¤ì¤ë¡£ Ì¿Îá¤Ë¤Ï¡¢Ä̾ïʸ»ú¤ÈÊÑ´¹»ØÄê (conversion specifications) ¤¬¤¢¤ë¡£ Ä̾ïʸ»ú¤Ï % °Ê³°¤Îʸ»ú¤Ç¡¢½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ë¤½¤Î¤Þ¤Þ¥³¥Ô¡¼¤µ¤ì¤ë¡£ ÊÑ´¹»ØÄê¤Ï¡¢¤½¤ì¤¾¤ì¤¬ 0 ¸Ä°Ê¾å¤Î°ú¤¿ô¤ò¼è¤ë¡£ ³ÆÊÑ´¹»ØÄê¤Ïʸ»ú % ¤Ç»Ï¤Þ¤ê¡¢ ÊÑ´¹»ØÄê»Ò (conversion specifier) ¤Ç½ª¤ï¤ë¡£ % ¤ÈÊÑ´¹»ØÄê»Ò¤Î´Ö¤Ë¤Ï¡¢0 ¸Ä°Ê¾å¤Î ¥Õ¥é¥° ¡¢ ºÇ¾® ¥Õ¥£¡¼¥ë¥ÉÉý ¡¢ ÀºÅÙ ¡¢ Ťµ½¤¾þ»Ò ¤ò (¤³¤Î½ç½ø¤Ç) ÃÖ¤¯¤³¤È¤¬¤Ç¤¤ë¡£°ú¤¿ô¤Ï (·¿¤Î³Ê¾å¤²¤Î¸å¤Ï) ÊÑ´¹»ØÄê»Ò¤¬É½¤¹·¿¤ÈÀµ³Î¤ËÂбþ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢`*' ¤äÊÑ´¹»ØÄê»Ò¤¬½Ð¤Æ¤¯¤ëËè¤Ë¼¡¤Î°ú¤¿ô¤òÍ׵ᤵ¤ì¡¢ °ú¤¿ô¤Ï»ØÄꤵ¤ì¤¿½ç½ø¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤¯ (»ØÄꤵ¤ì¤¿°ú¤¿ô¤Î¸Ä¿ô¤¬ÉÔ½½Ê¬¤Ê¤é¥¨¥é¡¼¤È¤Ê¤ë)¡£ ¤Þ¤¿¡¢°ú¤¿ô¤¬É¬Íפʲսê¤Ç `%' ¤ÎÂå¤ï¤ê¤Ë `%m$'¡¢ `*'¤ÎÂå¤ï¤ê¤Ë `*m$' ¤È½ñ¤¯¤³¤È¤Ç¡¢ ÌÀ¼¨Åª¤Ë¤É¤Î°ú¤¿ô¤ò»ÈÍѤ¹¤ë¤«¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤¤ë¡£ ¤³¤³¤Ç 10¿Ê¤ÎÀ°¿ô m ¤Ï´õ˾¤Î°ú¤¿ô¤Î°ú¤¿ô¥ê¥¹¥È¤Ç¤Î°ÌÃÖ¤ò¼¨¤¹ (ºÇ½é¤Î°ú¤¿ô¤ÎÈֹ椬 1 ¤Ç¤¢¤ë)¡£ ½¾¤Ã¤Æ¡¢°Ê²¼¤Î 2¤Ä¤ÏÅù²Á¤Ç¤¢¤ë¡£
-
printf("%*d", width, num); printf("%2$*1$d", width, num);
¿ôÃÍÊÑ´¹¤Ë¤Ï¾®¿ôÅÀ¤ä 1000 ñ°Ì¤Î¶èÀÚ¤êʸ»ú¤ò»È¤¦¤â¤Î¤â¤¢¤ë¡£ ¼ÂºÝ¤Ë¤É¤Îʸ»ú¤ò»È¤¦¤«¤Ï¥í¥±¡¼¥ë¤Î LC_NUMERIC ¤Ë¤è¤ë¡£ POSIX ¥í¥±¡¼¥ë¤Ç¤Ï¾®¿ôÅÀ¤Ë `.' ¤òÍѤ¤¡¢ ¶èÀÚ¤êʸ»ú¤Ï»È¤ï¤Ê¤¤¡£ ½¾¤Ã¤Æ¡¢
-
printf("%'.2f", 1234567.89);
¥Õ¥é¥°Ê¸»ú
% ʸ»ú¤Î¸å¤í¤Ë¤Ï 0 ¸Ä°Ê¾å¤Î¥Õ¥é¥°Ê¸»ú¤¬Â³¤¯¡£- #
- ÃͤÏ``Ê̤ηÁ¼°''¤ËÊÑ´¹¤µ¤ì¤ë¡£ o ÊÑ´¹¤Î¾ì¹ç¡¢(ÀèƬʸ»ú¤¬ 0 ¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤ËÀèƬ¤Ë 0 ¤òÄɲ乤뤳¤È¤Ç) ½ÐÎÏʸ»úÎó¤ÎºÇ½é¤Îʸ»ú¤ò 0 ¤Ë¤¹¤ë¡£ x ¤È X ÊÑ´¹¤Î¾ì¹ç¡¢¿ôÃͤ¬ 0 ¤Ç¤Ê¤¤¤È¤¤Ë¤Ïʸ»úÎó `0x' (X ÊÑ´¹¤Î¾ì¹ç¤Ë¤Ï `0X') ¤¬Á°¤ËÉÕÍ¿¤µ¤ì¤ë¡£ a, A, e, E, f, F, g, G ÊÑ´¹¤Ç¤Ï¡¢ ¾®¿ôÅÀ¤Ë³¤¯¿ô»ú¤¬¤Ê¤¯¤Æ¤â¡¢ ½ÐÎϤˤϾï¤Ë¾®¿ôÅÀ¤¬´Þ¤Þ¤ì¤ë (Ä̾ï¤Ï¡¢¾®¿ôÅÀ¤Î¸å¤Ë¿ô»ú¤¬Â³¤¯¾ì¹ç¤Ë¤Î¤ß¡¢ ¾®¿ôÅÀ¤¬É½¼¨¤µ¤ì¤ë)¡£ g ¤È G ÊÑ´¹¤Î¾ì¹ç¡¢Â¾¤ÎÊÑ´¹¤È¤Ï°Û¤Ê¤ê¡¢ËöÈø¤Î¥¼¥í¤¬ÊÑ´¹·ë²Ì¤«¤éºï½ü¤µ¤ì¤Ê¤¤¡£ ¤½¤Î¾¤ÎÊÑ´¹¤Ç¤Ï¡¢·ë²Ì¤Ï̤ÄêµÁ¤Ç¤¢¤ë¡£
- 0
- Ãͤò¥¼¥í¤ÇËä¤á¤ë¡£ d, i, o, u, x, X, a, A, e, E, f, F, g, G ÊÑ´¹¤Ç¤Ï¡¢ÊÑ´¹¤·¤¿Ãͤκ¸Â¦¤ò¶õÇòʸ»ú¤ÎÂå¤ï¤ê¤Ë¥¼¥í¤ÇËä¤á¤ë¡£ 0 ¤È - ¤¬Î¾Êý¤È¤â»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï¡¢ 0 ¥Õ¥é¥°¤Ï̵»ë¤µ¤ì¤ë¡£ ÀºÅÙ¤¬¿ôÃÍÊÑ´¹ (d, i, o, u, x, X) ¤ÈƱ»þ¤Ë»ØÄꤵ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢ 0 ¥Õ¥é¥°¤Ï̵»ë¤µ¤ì¤ë¡£ ¤½¤Î¾¤ÎÊÑ´¹¤Ç¤Ï¡¢Æ°ºî¤Ï̤ÄêµÁ¤Ç¤¢¤ë¡£
- -
- ÊÑ´¹Ãͤò¥Õ¥£¡¼¥ë¥É¶³¦¤Çº¸Â·¤¨¤Ë¤¹¤ë (¥Ç¥Õ¥©¥ë¥È¤Ï±¦Â·¤¨¤Ç¤¢¤ë)¡£ n ÊÑ´¹°Ê³°¤Ç¤Ï¡¢ÊÑ´¹¤µ¤ì¤¿ÃÍ¤Ï º¸Â¦¤Ç¤Ï¤Ê¤¯±¦Â¦¤ò¶õÇòʸ»ú¤ä¥¼¥í¤ÇËä¤á¤é¤ì¤ë¡£ - ¤È 0 ¤ÎξÊý¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢ - ¤¬Í¥À褵¤ì¤ë¡£
- ' '
- (1¸Ä¤ÎȾ³Ñ¥¹¥Ú¡¼¥¹) Éä¹æÉÕ¤ÊÑ´¹¤ÇÀ¸À®¤µ¤ì¤¿Àµ¤Î¿ô»ú¤ÎÁ°¤Ë¶õÇò (¤Þ¤¿¤Ï¶õʸ»úÎó) ¤¬ÃÖ¤«¤ì¤ë¡£
- +
- Éä¹æÉÕ¤ÊÑ´¹¤Ë¤è¤Ã¤Æ½ÐÎϤµ¤ì¤ë¿ô»ú¤ÎÁ°¤Ë¡¢¾ï¤ËÉä¹æ (+ ¤« -) ¤¬ÃÖ¤«¤ì¤ë¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢Éä¹æ¤ÏÉé¤Î¿ô»ú¤Î¾ì¹ç¤Î¤ßÉÕÍ¿¤µ¤ì¤ë¡£ + ¤ÈȾ³Ñ¥¹¥Ú¡¼¥¹¤Î ξÊý¤¬»È¤ï¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ + ¤¬Í¥À褵¤ì¤ë¡£
¾åµ¤Î 5 ¤Ä¤Î¥Õ¥é¥°¤Ï C ɸ½à¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£ SUSv2 ¤Ç¤Ï¡¢¤µ¤é¤Ë¤â¤¦°ì¤Ä¥Õ¥é¥°Ê¸»ú¤¬µ¬Äꤵ¤ì¤Æ¤¤¤ë¡£
- '
- 10¿Ê¿ôÊÑ´¹ (i, d, u, f, F, g, G) ¤Ë¤ª¤¤¤Æ¡¢¥í¥±¡¼¥ë¾ðÊó¤Ë»ØÄ꤬¤¢¤ì¤Ð 1000 ñ°Ì¤Î¶èÀÚ¤êʸ»ú¤ò½ÐÎϤ¹¤ë¡£ gcc(1) ¤Î¿¤¯¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò²ò¼á¤¹¤ë¤³¤È¤¬¤Ç¤¤º¡¢ ·Ù¹ð¤ò½ÐÎϤ¹¤ë¤³¤È¤ËÃí°Õ¤»¤è¡£ %'F ¤Ï SUSv2 ¤Ë¤Ï´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¡£
glibc 2.2 ¤Ç¤Ï¡¢¤µ¤é¤Ë°ì¤Ä¥Õ¥é¥°Ê¸»ú¤¬Äɲ䵤ì¤Æ¤¤¤ë¡£
- I
- 10¿ÊÀ°¿ôÊÑ´¹ (i, d, u) ¤Ë¤ª¤¤¤Æ¡¢¥í¥±¡¼¥ë¤ÎÂåÂؽÐÎÏ¿ô»ú¤¬¤¢¤ì¤Ð¡¢¤½¤ì¤òÍѤ¤¤Æ½ÐÎϤ¹¤ë¡£ Î㤨¤Ð¡¢ glibc 2.2.3 °Ê¹ß¤Ç¤Ï¡¢¥Ú¥ë¥·¥¢ (`fa_IR') ¥í¥±¡¼¥ë¤Ç ¥¢¥é¥Ó¥¢¿ô»ú (Arabic-Indic digits) ¤ò½ÐÎϤǤ¤ë¡£
¥Õ¥£¡¼¥ë¥ÉÉý
ºÇ¾®¤Î¥Õ¥£¡¼¥ë¥ÉÉý¤ò»ØÄꤹ¤ë 10¿Ê¿ô¤Î¿ôÃÍʸ»úÎó (ʸ»úÎó¤ÎºÇ½é¤Îʸ»ú¤Ï ¥¼¥í°Ê³°)¡£ËܹàÌܤϥª¥×¥·¥ç¥ó¤Ç¤¢¤ë¡£ ÊÑ´¹¤µ¤ì¤¿ÃͤÎʸ»ú¿ô¤¬¥Õ¥£¡¼¥ë¥ÉŤè¤ê¤â¾¯¤Ê¤¤¾ì¹ç¡¢ ¥Õ¥£¡¼¥ë¥É¤Îº¸Â¦¤ò¥¹¥Ú¡¼¥¹¤ÇËä¤á¤ë (º¸Â·¤¨¤Î¥Õ¥é¥°¤¬¤¢¤ë¾ì¹ç¤Ï±¦Â¦¤òËä¤á¤ë)¡£ 10¿Ê¿ô¤Îʸ»úÎó¤ÎÂå¤ï¤ê¤Ë `*' ¤ä `*m$' (m ¤Ï 10¿ÊÀ°¿ô) ¤ò½ñ¤¯¤³¤È¤â¤Ç¤¤ë¡£ `*' ¤È `*m$' ¤Ï¤½¤ì¤¾¤ì¡¢¼¡¤Î°ú¤¿ô¤È m ÈÖÌܤΰú¤¿ô¤ò¥Õ¥£¡¼¥ë¥ÉÉý¤È¤·¤Æ »È¤¦¤³¤È¤ò»ØÄꤹ¤ë (¤³¤ì¤é¤Î°ú¤¿ô¤Ï int ·¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤)¡£ ¥Õ¥£¡¼¥ë¥ÉÉý¤ËÉé¤Î¿ô¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï¡¢ `-' ¥Õ¥é¥°¤ÈÀµ¤Î¿ô¤Î¥Õ¥£¡¼¥ë¥ÉÉý¤È¤·¤Æ°·¤ï¤ì¤ë¡£ ¥Õ¥£¡¼¥ë¥ÉÉý¤¬¾®¤µ¤«¤Ã¤¿¤ê»ØÄ꤬¤Ê¤«¤Ã¤¿¤ê¤·¤Æ¤â¡¢¥Õ¥£¡¼¥ë¥É¤¬ÀÚ¤êµÍ¤á¤é¤ì¤ë ¤³¤È¤Ï¤Ê¤¤¡£¤â¤·ÊÑ´¹·ë²Ì¤¬¥Õ¥£¡¼¥ë¥ÉÉý¤è¤ê¤â¹¤«¤Ã¤¿¾ì¹ç¡¢ ¥Õ¥£¡¼¥ë¥É¤ÏÊÑ´¹·ë²Ì¤¬Æþ¤ëÉý¤Ë¹¤²¤é¤ì¤ë¡£ÀºÅÙ
¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ëÀºÅ٤ϡ¢¥Ô¥ê¥ª¥É (`.') ¤È¤½¤ì¤Ë³¤¯10¿Ê¿ô¤È¤¤¤¦ ·Á¼°¤Ç»ØÄꤹ¤ë (10¿Ê¿ô¤Ï¥ª¥×¥·¥ç¥ó) ¡£ 10¿Ê¿ô¤Îʸ»úÎó¤ÎÂå¤ï¤ê¤Ë `*' ¤ä `*m$' (m ¤Ï 10 ¿ÊÀ°¿ô)¤ò½ñ¤¯¤³¤È¤â¤Ç¤¤ë¡£ `*' ¤È `*m$' ¤Ï¤½¤ì¤¾¤ì¡¢¼¡¤Î°ú¤¿ô¤È m ÈÖÌܤΰú¤¿ô¤òÀºÅ٤Ȥ·¤Æ »È¤¦¤³¤È¤ò»ØÄꤹ¤ë (¤³¤ì¤é¤Î°ú¤¿ô¤Ï int ·¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤)¡£ ÀºÅ٤Ȥ·¤Æ `.' ¤À¤±¤¬»ØÄꤵ¤ì¤¿¤ê¡¢ÀºÅÙ¤¬Éé¤Î¿ô¤À¤Ã¤¿¾ì¹ç¡¢ ÀºÅ٤ϥ¼¥í¤È¤ß¤Ê¤µ¤ì¤ë¡£ d, i, o, u, x, X ÊÑ´¹¤Ç¤Ï¡¢É½¼¨¤µ¤ì¤ëºÇ¾®¤Î·å¿ô¤ò»ØÄꤹ¤ë¡£ a, A, e, E, f, F ÊÑ´¹¤Ç¤Ï¡¢¾®¿ôÅÀ°Ê²¼¤Ëɽ¼¨¤µ¤ì¤ë¿ô»ú¤Î·å¿ô¤ò»ØÄꤹ¤ë¡£ g ¤È G ÊÑ´¹¤Ç¤Ï¡¢Í¸ú¿ô»ú¤ÎºÇÂç·å¿ô¤ò»ØÄꤹ¤ë¡£ s ¤È S ÊÑ´¹¤Ç¤Ï¡¢Ê¸»úÎ󤫤é½ÐÎϤµ¤ì¤ëºÇÂçʸ»ú¿ô¤ò»ØÄꤹ¤ë¡£Ä¹¤µ½¤¾þ»Ò
``À°¿ôÊÑ´¹''¤È¤Ï¡¢ d, i, o, u, x, X ÊÑ´¹¤Î¤³¤È¤Ç¤¢¤ë¡£- hh
- À°¿ôÊÑ´¹¤ËÂбþ¤¹¤ë°ú¤¿ô¤¬ signed char ¤« unsigned char ¤Ç¡¢ n ÊÑ´¹¤ËÂбþ¤¹¤ë°ú¤¿ô¤¬ signed char ¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£
- h
- À°¿ôÊÑ´¹¤ËÂбþ¤¹¤ë°ú¤¿ô¤¬ short int ¤« unsigned short int ¤Ç¡¢ n ÊÑ´¹¤ËÂбþ¤¹¤ë°ú¤¿ô¤¬ short int ¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£
- l (¥¨¥ë)
- ³ÆÊÑ´¹¤ËÂбþ¤¹¤ë°ú¤¿ô¤¬¡¢ À°¿ôÊÑ´¹¤Ç¤Ï long int¤« unsigned long int¡¢ n ÊÑ´¹¤Ç¤Ï long long int ¤Ø¤Î¥Ý¥¤¥ó¥¿¡¢ c ÊÑ´¹¤Ç¤Ï wint_t¡¢ s ÊÑ´¹¤Ç¤Ï wchar_t ¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£
- ll (¥¨¥ë¥¨¥ë)
- À°¿ôÊÑ´¹¤ËÂбþ¤¹¤ë°ú¤¿ô¤¬ long long int ¤« unsigned long long int ¤Ç¡¢ n ÊÑ´¹¤ËÂбþ¤¹¤ë°ú¤¿ô¤¬ long int ¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£
- L
- a, A, e, E, f, F, g, G ÊÑ´¹¤ËÂбþ¤¹¤ë°ú¤¿ô¤¬ long double ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£ (C99 ¤Ç¤Ï %LF ¤ò»È¤¦¤³¤È¤òǧ¤á¤Æ¤¤¤ë¤¬¡¢SUSv2 ¤Ç¤Ïǧ¤á¤é¤ì¤Æ¤¤¤Ê¤¤¡£)
- q
- (`quad'¡£ 4.4BSD ¤È Linux libc5 ¤Î¤ß͸ú¡£»È¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£) ll ¤ÈƱ¤¸°ÕÌ£¤Ç¤¢¤ë¡£
- j
- À°¿ôÊÑ´¹¤ËÂбþ¤¹¤ë°ú¤¿ô¤¬ intmax_t ¤« uintmax_t ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£
- z
- À°¿ôÊÑ´¹¤ËÂбþ¤¹¤ë°ú¤¿ô¤¬ size_t ¤« ssize_t ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£ (Linux libc5 ¤Ç¤Ï¡¢¤³¤ì¤ò»ØÄꤹ¤ë¤Î¤Ë Z ¤òÍѤ¤¤ë¡£»È¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£)
- t
- À°¿ôÊÑ´¹¤ËÂбþ¤¹¤ë°ú¤¿ô¤¬ ptrdiff_t ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£
SUSv2 ¤ÇŤµ½¤¾þ»Ò¤È¤·¤Æ»ÈÍѤǤ¤ë¤Î¤Ï¡¢ h (hd, hi, ho, hx, hX, hn), l (ld, li, lo, lx, lX, ln, lc, ls), L (Le, LE, Lf, Lg, LG) ¤À¤±¤Ç¤¢¤ë¡£
ÊÑ´¹»ØÄê»Ò
ŬÍѤµ¤ì¤ëÊÑ´¹¤Î·¿¤ò»ØÄꤹ¤ëʸ»ú¡£ÊÑ´¹»ØÄê»Ò¤È¤½¤Î°ÕÌ£¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡£
- d,i
- int °ú¤¿ô¤òÉä¹æÉÕ¤ 10 ¿Êɽµ¤ËÊÑ´¹¤¹¤ë¡£ ÀºÅÙ»ØÄ꤬¤¢¤ì¤Ð¡¢ÀºÅ٤ǻØÄꤷ¤¿·å¿ô¤Ïɬ¤º½ÐÎϤµ¤ì¤ë¡£ÊÑ´¹¸å¤ÎÃͤ¬ »ØÄꤵ¤ì¤¿·å¿ô¤Ë¤ê¤Ê¤¤¾ì¹ç¤Ï¡¢º¸Â¦¤¬ 0 ¤ÇËä¤á¤é¤ì¤ë¡£ ¥Ç¥Õ¥©¥ë¥È¤ÎÀºÅÙ¤Ï 1 ¤Ç¤¢¤ë¡£ 0 ¤òɽ¼¨¤·¤è¤¦¤È¤·¤¿»þ¤Ë¡¢ÌÀ¼¨Åª¤ËÀºÅ٤Ȥ·¤Æ 0 ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤È¡¢ ½ÐÎϤ϶õʸ»úÎó¤È¤Ê¤ë¡£
- o,u,x,X
- unsigned int °ú¤¿ô¤ò¡¢ Éä¹æ¤Ê¤·8¿Ê¿ô (o), Éä¹æ¤Ê¤·10¿Ê¿ô (u), Éä¹æ¤Ê¤·16¿Ê¿ô (x ¤È X) ¤ËÊÑ´¹¤¹¤ë¡£ x ÊÑ´¹¤Ç¤Ï abcdef ¤¬»ÈÍѤµ¤ì¡¢ X ÊÑ´¹¤Ç¤Ï ABCDEF ¤¬»ÈÍѤµ¤ì¤ë¡£ ÀºÅÙ»ØÄ꤬¤¢¤ì¤Ð¡¢ÀºÅ٤ǻØÄꤷ¤¿·å¿ô¤Ïɬ¤º½ÐÎϤµ¤ì¤ë¡£ÊÑ´¹¸å¤ÎÃͤ¬ »ØÄꤵ¤ì¤¿·å¿ô¤Ë¤ê¤Ê¤¤¾ì¹ç¤Ï¡¢º¸Â¦¤¬ 0 ¤ÇËä¤á¤é¤ì¤ë¡£
- e,E
- double °ú¤¿ô¤ò´Ý¤á¤Æ [-]d.ddde\*(Pmdd ¤Î·Á¤ËÊÑ´¹¤¹¤ë¡£ ¾®¿ôÅÀ¤ÎÁ°¤Ë¤Ï°ì·å¤Î¿ô»ú¤¬¤¢¤ê¡¢¾®¿ôÅÀ°Ê²¼¤Î·å¿ô¤ÏÀºÅ٤ǻØÄꤵ¤ì¤¿ ·å¿ô¤Ë¤Ê¤ë¡£ÀºÅ٤ϻØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç 6 ¤È¤ß¤Ê¤µ¤ì¤ë¡£ ÀºÅÙ¤¬ 0 ¤Î¾ì¹ç¤Ë¤Ï¡¢¾®¿ôÅÀ°Ê²¼¤Ïɽ¼¨¤µ¤ì¤Ê¤¤¡£ E ÊÑ´¹¤Ç¤Ï¡¢»Ø¿ô¤òɽ¸½¤¹¤ë¤È¤¤Ë (e ¤Ç¤Ï¤Ê¤¯) E ¤¬»È¤ï¤ì¤ë¡£ »Ø¿ôÉôʬ¤Ï¾¯¤Ê¤¯¤È¤â 2·åɽ¼¨¤µ¤ì¤ë¡£ ¤Ä¤Þ¤ê¡¢»Ø¿ô¤ÎÃͤ¬ 0 ¤Î¾ì¹ç¤Ë¤Ï¡¢00 ¤Èɽ¼¨¤µ¤ì¤ë¡£
- f,F
- double °ú¤¿ô¤ò´Ý¤á¤Æ [-]ddd.ddd ¤Î·Á¤Î10¿Êɽ¸½¤ËÊÑ´¹¤¹¤ë¡£ ¾®¿ôÅÀ¤Î¸å¤Î·å¿ô¤Ï¡¢ÀºÅ٤ǻØÄꤵ¤ì¤¿ÃͤȤʤ롣 ÀºÅÙ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï 6 ¤È¤·¤Æ°·¤ï¤ì¤ë¡£ ÀºÅ٤Ȥ·¤ÆÌÀ¼¨Åª¤Ë 0 ¤¬»ØÄꤵ¤ì¤¿¤È¤¤Ë¤Ï¡¢¾®¿ôÅÀ°Ê²¼¤Ïɽ¼¨¤µ¤ì¤Ê¤¤¡£ ¾®¿ôÅÀ¤òɽ¼¨¤¹¤ëºÝ¤Ë¤Ï¡¢¾®¿ôÅÀ¤ÎÁ°¤Ë¾¯¤Ê¤¯¤È¤â°ì·å¤Ï¿ô»ú¤¬É½¼¨¤µ¤ì¤ë¡£
(SUSv2 ¤Ç¤Ï¡¢ F ¤Ïµ¬Äꤵ¤ì¤Æ¤ª¤é¤º¡¢Ìµ¸Â¤ä NaN ¤Ë´Ø¤¹¤ëʸ»úÎóɽ¸½¤ò ¹Ô¤Ã¤Æ¤â¤è¤¤¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
C99 ɸ½à¤Ç¤Ï¡¢ f ÊÑ´¹¤Ç¤Ï¡¢Ìµ¸Â¤Ï `[-]inf' ¤« `[-]infinity' ¤Èɽ¼¨¤·¡¢ NaN ¤Ïʸ»úÎó¤ÎÀèƬ¤Ë `nan' ¤ò¤Ä¤±¤Æɽ¼¨¤¹¤ë¤è¤¦¤Ëµ¬Äꤵ¤ì¤Æ¤¤¤ë¡£ F ÊÑ´¹¤Î¾ì¹ç¤Ï `[-]INF', `[-]INFINITY', `NAN*' ¤Èɽ¼¨¤µ¤ì¤ë¡£) - g,G
- double °ú¤¿ô¤ò f ¤« e (G ÊÑ´¹¤Î¾ì¹ç¤Ï F ¤« E) ¤Î·Á¼°¤ËÊÑ´¹¤¹¤ë¡£ ÀºÅÙ¤Ïɽ¼¨¤¹¤ë·å¿ô¤ò»ØÄꤹ¤ë¡£ ÀºÅÙ¤¬»ØÄꤵ¤ì¤Ê¤¤¾ì¹ç¤Ï¡¢6·å¤È¤ß¤Ê¤µ¤ì¤ë¡£ ÀºÅÙ¤¬ 0 ¤Î¾ì¹ç¤Ï¡¢1·å¤È¤ß¤Ê¤µ¤ì¤ë¡£ ÊÑ´¹¤µ¤ì¤ëÃͤλؿô¤¬¡¢ -4 ¤è¤ê¾®¤µ¤¤¤«¡¢ÀºÅٰʾå¤Î¾ì¹ç¤Ë¡¢ e ·Á¼°¤¬»ÈÍѤµ¤ì¤ë¡£ ÊÑ´¹¤µ¤ì¤¿·ë²Ì¤Î¾®¿ôÉôʬ¤ÎËöÈø¤Î 0 ¤Ïºï½ü¤µ¤ì¤ë¡£¾®¿ôÅÀ¤¬É½¼¨¤µ¤ì¤ë¤Î¤Ï¡¢ ¾®¿ôÅÀ°Ê²¼¤Ë¿ô»ú¤¬¾¯¤Ê¤¯¤È¤â°ì¤Ä¤¢¤ë¾ì¹ç¤Ë¤À¤±¤Ç¤¢¤ë¡£
- a,A
- (C99 ¤Ë¤Ï¤¢¤ë¤¬ SUSv2 ¤Ë¤Ï¤Ê¤¤) a ÊÑ´¹¤Ç¤Ï¡¢ double °ú¤¿ô¤ò (abcdef ¤Îʸ»ú¤ò»È¤Ã¤Æ) [-]0xh.hhhhp\*(Pmd; ·Á¼°¤Î 16 ¿Êɽµ¤ËÊÑ´¹¤¹¤ë¡£ A ÊÑ´¹¤Ç¤Ï¡¢Á°ÃÖʸ»úÎó 0X, ʸ»ú ABCDEF, »Ø¿ôʸ»ú P ¤òÍѤ¤¤ë¡£ ¾®¿ôÅÀ¤ÎÁ°¤Ë¤Ï 1·å¤Î16¿Ê¿ô¤¬ÃÖ¤«¤ì¡¢¾®¿ôÅÀ¤Î¸å¤í¤Î·å¿ô¤Ï ÀºÅ٤ǻØÄꤵ¤ì¤¿ÃͤȤʤ롣 ¥Ç¥Õ¥©¥ë¥È¤ÎÀºÅ٤ϡ¢¤½¤ÎÃͤ¬ 2¿Ê¿ô¤ÇÀµ³Î¤Ëɽ¸½¤Ç¤¤ë¾ì¹ç¤Ë¤Ï¡¢ ¤½¤ÎÃͤòÀµ³Î¤Ëɽ¸½¤Ç¤¤ë·å¿ô¤È¤Ê¤ë¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢ double ·¿¤ÎÃͤò¶èÊ̤¹¤ë¤Î¤Ë½½Ê¬¤ÊÂ礤µ¤È¤Ê¤ë¡£ ¾®¿ôÅÀ¤ÎÁ°¤Î¿ô»ú¤Ï¡¢Àµµ¬²½¤µ¤ì¤Æ¤¤¤Ê¤¤¿ô¤Î¾ì¹ç¤Ï¤¤¤¯¤Ä¤Ë¤Ê¤ë¤«Ê¬¤«¤é¤Ê¤¤¡£ Àµµ¬²½¤µ¤ì¤¿¿ô¤Î¾ì¹ç¤Ï¡¢ 0 °Ê³°¤ÎÃͤˤʤ뤬¡¢¤¤¤¯¤Ä¤Ë¤Ê¤ë¤«¤Ïʬ¤«¤é¤Ê¤¤¡£
- c
- l ½¤¾þ»Ò¤¬¤Ê¤±¤ì¤Ð¡¢ int °ú¤¿ô¤ò unsigned char ¤ËÊÑ´¹¤·¤Æ¡¢¤½¤Î·ë²Ì¤ËÂбþ¤¹¤ëʸ»ú¤ò½ÐÎϤ¹¤ë¡£ l ½¤¾þ»Ò¤¬¤¢¤ì¤Ð¡¢ wint_t (¥ï¥¤¥Éʸ»ú) °ú¤¿ô¤ò¡¢ wcrtomb(3) ´Ø¿ô¤ò½é´ü¥·¥Õ¥È¾õÂ֤ǸƤӽФ·¤Æ¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»úÎó¤ËÊÑ´¹¤·¡¢ ÊÑ´¹¤µ¤ì¤¿¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»úÎó¤ò½ÐÎϤ¹¤ë¡£
- s
- l ½¤¾þ»Ò¤¬¤Ê¤¤¾ì¹ç¡¢ °ú¤¿ô¤Ï const char * ·¿¤Çʸ»ú·¿¤ÎÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿ (ʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿) ¤Ç¤¢¤ë¤³¤È¤¬ ´üÂÔ¤µ¤ì¤Æ¤¤¤ë¡£ÇÛÎóÃæ¤Îʸ»ú¤Ï¡¢½ªÃ¼¤Î NULL ¥Ð¥¤¥È ('\0') ¤¬½Ð¤Æ¤¯¤ë¤Þ¤Ç½ÐÎϤµ¤ì¤ë (½ªÃ¼Ê¸»ú¤Ï½ÐÎϤµ¤ì¤Ê¤¤)¡£ ÀºÅÙ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤È¡¢»ØÄꤵ¤ì¤¿»ú¿ô°Ê¾å¤Ï½ÐÎϤµ¤ì¤Ê¤¤¡£ ÀºÅÙ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢½ªÃ¼¥Ð¥¤¥È¤¬Â¸ºß¤¹¤ëɬÍפϤʤ¤¡£ ÀºÅÙ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¤ê¡¢ÀºÅÙ¤ÎÃͤ¬ÇÛÎó¤ÎÂ礤µ¤è¤êÂ礤¤¾ì¹ç¤Ë¤Ï¡¢ ÇÛÎó¤Ï½ªÃ¼¤Î NULL ¥Ð¥¤¥È¤ò´Þ¤ó¤Ç¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
l ½¤¾þ»Ò¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ °ú¤¿ô¤Ï const wchar_t * ·¿¤Ç¥ï¥¤¥Éʸ»ú¤ÎÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¤³¤È¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤ë¡£ ÇÛÎóÃæ¤Î¥ï¥¤¥Éʸ»ú¤Ï (1ʸ»úËè¤Ë wcrtomb(3) ¤ò¸Æ¤Ó½Ð¤·¤Æ) ¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤ËÊÑ´¹¤µ¤ì¤ë (ºÇ½é¤Î¥ï¥¤¥Éʸ»ú¤ÎÊÑ´¹¤ÎÁ°¤Ë wcrtomb() ¤Î¥·¥Õ¥È¾õÂÖ¤ò½é´ü¾õÂÖ¤ËÌᤷ¤Æ¤«¤éÊÑ´¹¤Ï¹Ô¤ï¤ì¤ë)¡£ ¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤Ø¤ÎÊÑ´¹¤Ï¡¢Ê¸»úÎó¤ò½ªÃ¼¤¹¤ë NULL ¥ï¥¤¥Éʸ»ú¤¬ ½Ð¤Æ¤¯¤ë¤Þ¤Ç¹Ô¤ï¤ì¡¢½ªÃ¼ NULL ¥ï¥¤¥Éʸ»ú¤â´Þ¤á¤ÆÊÑ´¹¤µ¤ì¤ë¡£ ·ë²Ì¤Î¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»úÎó¤Ï¡¢½ªÃ¼¤Î NULL ¥Ð¥¤¥È¤¬½Ð¤Æ¤¯¤ë¤Þ¤Ç ½ÐÎϤµ¤ì¤ë (½ªÃ¼¤Î NULL ¥Ð¥¤¥È¤Ï½ÐÎϤµ¤ì¤Ê¤¤)¡£ ÀºÅÙ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢»ØÄꤵ¤ì¤¿¥Ð¥¤¥È¿ô°Ê¾å¤Ë¤Ï½ÐÎϤµ¤ì¤Ê¤¤¡£ ⤷¡¢¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤Î°ìÉôʬ¤À¤±¤¬½ÐÎϤµ¤ì¤ë¤³¤È¤Ï¤Ê¤¤¡£ ÀºÅ٤ϡ֥Х¤¥È¡×¿ô¤ò»ØÄꤹ¤ë¤â¤Î¤Ç¤¢¤ê¡¢¡Ö¥ï¥¤¥Éʸ»ú¡×¿ô¤ä ¡Ö²èÌ̤ǤΰÌÃ֡פò»ØÄꤹ¤ë¤â¤Î¤Ç¤Ï¤Ê¤¤¤³¤È¤ËÃí°Õ¡£ ÀºÅÙ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Æ¡¢¤µ¤é¤Ë½ÐÎϤ¬ÇÛÎó¤ÎËöÈø¤Ë㤹¤ëÁ°¤Ë½ÐÎϥХ¤¥È¿ô¤¬ ÀºÅÙ¤ÎÃͤòĶ¤¨¤ë¾ì¹ç¤À¤±¤Ï¡¢ÇÛÎó¤Ï NULL ¥ï¥¤¥Éʸ»ú¤Ç½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¯¤Æ¤â¤è¤¤¡£ ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢É¬¤ºÇÛÎó¤Ï NULL ¥ï¥¤¥Éʸ»ú¤Ç½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
- C
- (C99 ¤Ë¤Ï¤Ê¤¤¤¬ SUSv2 ¤Ë¤Ï¤¢¤ë) lc ¤ÈƱ¤¸¡£»È¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
- S
- (C99 ¤Ë¤Ï¤Ê¤¤¤¬ SUSv2 ¤Ë¤Ï¤¢¤ë) ls ¤ÈƱ¤¸¡£»È¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
- p
- void * ¥Ý¥¤¥ó¥¿°ú¤¿ô¤ò (%#x ¤ä %#lx ¤Î¤è¤¦¤Ê) 16 ¿Ê¿ô¤Ç½ÐÎϤ¹¤ë¡£
- n
- ¤³¤ì¤Þ¤Ç¤Ë½ÐÎϤµ¤ì¤¿Ê¸»ú¿ô¤ò int * (¤Þ¤¿¤ÏÎà»÷¤Î·¿) ¤Î¥Ý¥¤¥ó¥¿°ú¤¿ô¤¬»Ø¤¹À°¿ô¤ËÊݸ¤¹¤ë¡£ °ú¤¿ô¤ÎÊÑ´¹¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£
- m
- (glibc ¤Ç¤Î³ÈÄ¥) strerror(errno) ¤Î½ÐÎϤòɽ¼¨¤¹¤ë¡£°ú¤¿ô¤ÏɬÍפʤ¤¡£
- %
- `%' ʸ»ú¤ò½ÐÎϤ¹¤ë¡£ÊÑ´¹¤µ¤ì¤ë°ú¤¿ô¤Ï̵¤¤¡£ ÊÑ´¹»ØÄêÁ´ÂΤò½ñ¤¯¤È `%%' ¤È¤Ê¤ë¡£
½àµò
fprintf(), printf(), sprintf(), vprintf(), vfprintf(), vsprintf() ´Ø¿ô¤Ï¡¢C89 ¤È C99 ¤Ë½àµò¤·¤Æ¤¤¤ë¡£ snprintf() ¤È vsnprintf() ¤Ï C99 ¤Ë½àµò¤·¤Æ¤¤¤ë¡£snprintf() ¤ÎÊÖ¤êÃͤò¸«¤ë¤È¡¢ SUSv2 ¤È C99 ɸ½à¤Ï¸ß¤¤¤ËÌ·½â¤·¤Æ¤¤¤ë¡£ SUSv2 ¤Ç¤Ï¡¢ snprintf() ¤¬ size=0 ¤Ç¸Æ¤Ó½Ð¤µ¤ì¤¿¾ì¹ç¡¢ 1 ̤Ëþ¤ÎÃͤò²¿¤«ÊÖ¤êÃͤȤ¹¤ë¤è¤¦¤Ëµ¬Äꤷ¤Æ¤¤¤ë¡£ °ìÊý C99 ¤Ç¤Ï¡¢¤³¤Î¤è¤¦¤Ê¾ì¹ç str ¤ò NULL ¤È¤·¡¢ÊÖ¤êÃͤȤ·¤Æ (Ä̾ïÄ̤ê) ½ÐÎϥХåե¡¤¬½½Ê¬¤ÊÂ礤µ¤¬ ¤¢¤Ã¤¿¾ì¹ç¤Ë½ÐÎϤµ¤ì¤ë¤Ç¤¢¤í¤¦Ê¸»ú¿ô¤òÊÖ¤¹¡£
Linux libc4 ¤Ç¤Ï¡¢ 5 ¤Ä¤Î C ɸ½à¤Î¥Õ¥é¥°¡¢ Ťµ½¤¾þ»Ò h, l, L ¡¢ÊÑ´¹ cdeEfFgGinopsuxX ¤¬»È¤¨¤ë¡£ ⤷ F ¤Ï f ¤ÈƱ¤¸¤Ç¤¢¤ë¡£ ¤Þ¤¿¡¢ D, O, U ¤ò ld, lo, lu ¤ÈƱ¤¸¤â¤Î¤È¤·¤Æ»È¤¨¤ë (¤³¤ì¤Ï¤Þ¤º¤¤»ÅÍͤǡ¢ ¸å¤Ë %D ¤ÎÂбþ¤¬ÂǤÁÀÚ¤é¤ì¤¿»þ¤Ë¿¼¹ï¤Ê¥Ð¥°¤ò °ú¤µ¯¤³¤·¤¿)¡£¥í¥±¡¼¥ë°Í¸¤Î¾®¿ôÅÀ¡¢1000 ¶èÀڤꡢ NaN ¤È̵¸Â¡¢ %m$ ¤È *m$ ¤Ï»È¤¨¤Ê¤¤¡£
Linux libc5 ¤Ç¤Ï¡¢ 5 ¤Ä¤Î C ɸ½à¤Î¥Õ¥é¥°¤È ' ¥Õ¥é¥°¡¢¥í¥±¡¼¥ë¡¢ %m$ ¤È *m$ ¤¬»È¤¨¤ë¡£ ¤Þ¤¿¡¢Ä¹¤µ½¤¾þ»Ò h, l, L, Z, q ¤¬»È¤¨¤ë¤¬¡¢ L ¤È q ¤ÏξÊý¤È¤â long double ¤È long long integer ¤ËÂбþ¤·¤Æ¤¤¤ë (¤³¤ì¤Ï¥Ð¥°¤Ç¤¢¤ë)¡£ ¸½ºß¤Ç¤Ï FDOU ÊÑ´¹¤Ïǧ¼±¤µ¤ì¤Ê¤¤¤¬¡¢ÊÑ´¹Ê¸»ú m ¤¬Äɲ䵤줿¡£¤³¤ì¤Ï strerror(errno) ¤ò½ÐÎϤ¹¤ë¤â¤Î¤Ç¤¢¤ë¡£
glibc 2.0 ¤Ç¤Ï¡¢ÊÑ´¹Ê¸»ú C ¤È S ¤¬Äɲ䵤줿¡£
glibc 2.1 ¤Ç¤Ï¡¢Ä¹¤µ½¤¾þ»Ò hh, j, t, z ¤ÈÊÑ´¹Ê¸»ú a, A ¤¬Äɲ䵤줿¡£
glibc 2.2 ¤Ç¤Ï¡¢ C99 ¤Çµ¬Äꤵ¤ì¤¿°ÕÌ£¤Ç¤ÎÊÑ´¹Ê¸»ú F ¤È ¥Õ¥é¥°Ê¸»ú I ¤¬Äɲ䵤줿¡£
Ãí°Õ
glibc ¤Î snprintf() ¤È vsnprintf() ¤Î¼ÂÁõ¤Ï¡¢¥Ð¡¼¥¸¥ç¥ó 2.1 °Ê¹ß¤Ï C99 ɸ½à¤Ë½àµò¤·¤Æ¤ª¤ê¡¢ ¾åµ¤ÎÄ̤ê¤ÎÆ°ºî¤ò¤¹¤ë¡£ glibc 2.0.6 ¤Þ¤Ç¤Ï¡¢½ÐÎϤ¬ÀÚ¤êµÍ¤á¤é¤ì¤¿¾ì¹ç¤Ï -1 ¤òÊÖ¤¹¡£¥Ð¥°
sprintf() ¤È vsprintf() ¤Ï¾¡¼ê¤Ë½½Ê¬¤ËŤ¤Ê¸»úÎóÎΰ褬¤¢¤ë¤È²¾Äꤹ¤ë¤Î¤Ç¡¢¸Æ¤Ó½Ð¤·Â¦¤Ï ¼ÂºÝ¤ÎÎΰ褫¤é¤¢¤Õ¤ì¤Ê¤¤¤è¤¦¤ËÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¤·¤«¤·¡¢¤³¤ì¤òÊݾڤ¹¤ë¤³¤È¤¬ÉÔ²Äǽ¤Ê¾ì¹ç¤¬Â¿¤¤¡£ À¸À®¤µ¤ì¤ëʸ»úÎó¤ÎŤµ¤Ï¥í¥±¡¼¥ë°Í¸¤Ç¤¢¤ê¡¢Í½Â¬¤¬Æñ¤·¤¤¤³¤È¤ËÃí°Õ¡£ Âå¤ï¤ê¤Ë snprintf() ¤È vsnprintf() (¤Þ¤¿¤Ï asprintf() ¤È vasprintf()) ¤ò»È¤¦¤³¤È¡£Linux libc4.[45] ¤Ë¤Ï snprintf() ¤Ï¤Ê¤¤¤¬¡¢ libbsd ¤¬Ä󶡤µ¤ì¤Æ¤ª¤ê¡¢ ¤½¤ÎÃæ¤Ë¤Ï sprintf() ¤ÈÅù²Á¤Ê (¤Ä¤Þ¤ê size °ú¤¿ô¤ò̵»ë¤¹¤ë) snprintf() ¤¬¤¢¤ë¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢½é´ü¤Î libc4 ¤Ç snprintf() ¤ò»È¤¦¤È¡¢¿¼¹ï¤Ê¥»¥¥å¥ê¥Æ¥£ÌäÂê¤ò°ú¤µ¯¤³¤¹¤³¤È¤¬¤¢¤ë¡£
printf(foo); ¤Î¤è¤¦¤Ê¥³¡¼¥É¤Ï¤·¤Ð¤·¤Ð¥Ð¥°¤ò°ú¤µ¯¤³¤¹¡£ ¤Ê¤¼¤Ê¤é foo ¤Ë % ʸ»ú¤¬´Þ¤Þ¤ì¤Æ¤ë¤«¤â¤·¤ì¤Ê¤¤¤«¤é¤Ç¤¢¤ë¡£ foo ¤¬¿®Íê¤Ç¤¤Ê¤¤¥æ¡¼¥¶¡¼ÆþÎϤ«¤éºî¤é¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ ¤½¤ÎÃæ¤Ë %n ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È¤¬¤¢¤ê¡¢ printf() ¸Æ¤Ó½Ð¤·»þ¤Ë¥á¥â¥ê¤Ø¤Î½ñ¤¹þ¤ß¤¬µ¯¤³¤ê¡¢ ¥»¥¥å¥ê¥Æ¥£¡¼¥Û¡¼¥ë¤òºî¤ë¤³¤È¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
Îã
¤ò 5 ·å¤Ç½ÐÎϤ¹¤ë¡£
-
#include <math.h> #include <stdio.h> fprintf(stdout, "pi = %.5f\n", 4 * atan(1.0));
ÆüÉդȻþ´Ö¤ò `Sunday, July 3, 10:02' ¤Î·Á¼°¤Ç½ÐÎϤ¹¤ë¡£ (weekday ¤È month ¤Ïʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë)
-
#include <stdio.h> fprintf(stdout, "%s, %s %d, %.2d:%.2d\n", weekday, month, day, hour, min);
Æü - ·î - ǯ ¤Î½ç½ø¤Çɽ¼¨¤ò¹Ô¤¦¹ñ¤â¿¤¤¡£ ½¾¤Ã¤Æ¡¢¹ñºÝÈǤǤϽñ¼°¤Ç»ØÄꤵ¤ì¤¿½çÈÖ¤Ç °ú¤¿ô¤òɽ¼¨¤Ç¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-
#include <stdio.h> fprintf(stdout, format, weekday, month, day, hour, min);
-
"%1$s, %3$d. %2$s, %4$d:%5$.2d\n"
½½Ê¬¤ËÂ礤Êʸ»úÎóÎΰè¤ò³ÎÊݤ·¤Æ¡¢¤½¤³¤Ë¥á¥Ã¥»¡¼¥¸¤ò³ÊǼ¤¹¤ë¤Ë¤Ï (glibc 2.0 ¤È glibc 2.1 ¤ÎξÊý¤ÇÀµ¤·¤¯Æ°ºî¤¹¤ë¥³¡¼¥É):
-
#include <stdio.h> #include <stdlib.h> #include <stdarg.h> char * make_message(const char *fmt, ...) { /* Guess we need no more than 100 bytes. */ int n, size = 100; char *p, *np; va_list ap; if ((p = malloc(size)) == NULL) return NULL; while (1) { /* Try to print in the allocated space. */ va_start(ap, fmt); n = vsnprintf(p, size, fmt, ap); va_end(ap); /* If that worked, return the string. */ if (n > -1 && n < size) return p; /* Else try again with more space. */ if (n > -1) /* glibc 2.1 */ size = n+1; /* precisely what is needed */ else /* glibc 2.0 */ size *= 2; /* twice the old size */ if ((np = realloc (p, size)) == NULL) { free(p); return NULL; } else { p = np; } } }
´ØÏ¢¹àÌÜ
printf(1), asprintf(3), dprintf(3), scanf(3), setlocale(3), wcrtomb(3), wprintf(3), locale(5)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre