wprintf

Autres langues

Langue: ja

Version: November 20, 1999 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

̾Á°

wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf - ¥ï¥¤¥Éʸ»ú¤ò ¥Õ¥©¡¼¥Þ¥Ã¥È¤·¤Æ½ÐÎϤ¹¤ë

½ñ¼°


#include <stdio.h>

#include <wchar.h>



int wprintf(const wchar_t *format, ...);

int fwprintf(FILE *stream, const wchar_t *format, ...);

int swprintf(wchar_t *wcs, size_t maxlen,

             const wchar_t *format, ...);



#include <stdarg.h>



int vwprintf(const wchar_t *format, va_list args);

int vfwprintf(FILE *stream, const wchar_t *format, va_list args);

int vswprintf(wchar_t *wcs, size_t maxlen,

              const wchar_t *format, va_list args);

ÀâÌÀ

wprintf() ¥Õ¥¡¥ß¥ê¡¼¤Î´Ø¿ô¤Ï printf(3) ¥Õ¥¡¥ß¥ê¡¼¤Î´Ø¿ô¤Î ¥ï¥¤¥Éʸ»úÈǤǤ¢¤ë¡£¤³¤ì¤é¤Ï¥ï¥¤¥Éʸ»ú¤ò¥Õ¥©¡¼¥Þ¥Ã¥È¤·¤Æ½ÐÎϤ¹¤ë¡£

wprintf() ¤È vwprintf() ´Ø¿ô¤Ï stdout ¤Ë½ÐÎϤò¹Ô¤Ê¤¦¡£ stdout ¤¬¥Ð¥¤¥Èñ°ÌÆþ½ÐÎϤǤ¢¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤¡£¤è¤ê¾Ü¤·¤¤ÀâÌÀ¤Ï fwide(3) ´Ø¿ô¤ò»²¾È¤¹¤ë¤³¤È¡£

fwprintf() ¤È vfwprintf() ´Ø¿ô¤Ï stream ¤Ë¥ï¥¤¥Éʸ»ú½ÐÎÏ ¤ò¹Ô¤Ê¤¦¡£ stream ¤¬¥Ð¥¤¥Èñ°ÌÆþ½ÐÎϤǤ¢¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤¡£ ¤è¤ê¾Ü¤·¤¤ÀâÌÀ¤Ï fwide(3) ´Ø¿ô¤ò»²¾È¤¹¤ë¤³¤È¡£

swprintf() ¤È vswprintf() ´Ø¿ô¤Ï¥ï¥¤¥Éʸ»ú¤ÎÇÛÎó¤Ë ¥ï¥¤¥Éʸ»ú½ÐÎϤò¹Ô¤Ê¤¦¡£¥×¥í¥°¥é¥Þ¡¼¤Ï wcs ¤ËºÇÄã¤Ç¤â maxlen ʸ»ú¤Î¥ï¥¤¥Éʸ»ú¤ò½ÐÎϤǤ­¤ë¶õ¤­¤¬¤¢¤ë¤³¤È¤òÊݾڤ·¤Ê¤±¤ì¤Ð ¤Ê¤é¤Ê¤¤¡£

¤³¤ì¤é¤Î´Ø¿ô¤Ï printf(3), vprintf(3), fprintf(3), vfprintf(3), sprintf(3), vsprintf(3) ´Ø¿ô¤Ë»÷¤Æ¤¤¤ë¤¬°Ê²¼¤Î ÅÀ¤Ç°Û¤Ã¤Æ¤¤¤ë¡£

*
format ¤¬¥ï¥¤¥Éʸ»úÎó¤ÇÍ¿¤¨¤é¤ì¤ë¡£
*
½ÐÎϤ¬¥Ð¥¤¥È¤Ç¤Ï¤Ê¤¯¥ï¥¤¥Éʸ»ú¤Ç¹½À®¤µ¤ì¤ë¡£
*
swprintf() ¤È vswprintf() ¤Ï maxlen °ú¤­¿ô¤ò¼è¤ë¤¬¡¢ sprintf() ¤È vsprintf() ¤Ï¼è¤é¤Ê¤¤ (snprintf() ¤È vsnprintf() ¤Ï maxlen °ú¤­¿ô¤ò¼è¤ë¤¬ ¤³¤ì¤é¤Î´Ø¿ô¤¬ Linux ¤Ç¤Ï¡¢¥Ð¥Ã¥Õ¥¡¡¼¤¬°î¤ì¤¿¾ì¹ç¤Ç¤â -1 ¤òÊÖ¤µ¤Ê¤¤)¡£

c ¤È s ÊÑ´¹Ê¸»ú¤Î°·¤¤¤¬°Û¤Ã¤Æ¤¤¤ë:

c
¤â¤· l ½¤¾þ»Ò¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï int °ú¤­¿ô¤Ï btowc(3) ´Ø¿ô¤Ë¤è¤Ã¤Æ¥ï¥¤¥Éʸ»ú¤ËÊÑ´¹¤µ¤ì¤ë¡£¤½¤·¤Æ·ë²Ì¤Î¥ï¥¤¥Éʸ»ú¤¬½ÐÎϤµ¤ì¤ë¡£ l ½¤¾þ»Ò¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï wint_t (¥ï¥¤¥Éʸ»ú)°ú¤­¿ô¤¬½ÐÎϤµ¤ì¤ë¡£
s
¤â¤· l ½¤¾þ»Ò¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¡¢ ``const char *'' °ú¤­¿ô¤Ï½é´ü¾õÂÖ¤è¤ê»Ï¤Þ¤ë¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»úÎó¤ò´Þ¤ó¤À char ·¿¤ÎÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼(ʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼)¤È¤ß¤Ê¤µ¤ì¤ë¡£ ÇÛÎó¤Îʸ»ú¤Ï(ºÇ½é¤Î¥Ð¥¤¥ÈÁ°¤Ë½é´ü¾õÂÖ¤ÇÊÑ´¹¤ò³«»Ï¤·¡¢¤½¤ì¤¾¤ì¤Îʸ»ú¤ò mbrtowc(3) ´Ø¿ô¤Ë¤è¤Ã¤Æ)¥ï¥¤¥Éʸ»ú¤Ø¤ÈÊÑ´¹¤µ¤ì¤ë¡£·ë²Ì¤Î¥ï¥¤¥Éʸ»ú¤Ï½ªÃ¼¤Î ¥Ê¥ë¥ï¥¤¥Éʸ»ú¤Î¼êÁ°¤Þ¤Ç¤¬½ñ¤­¹þ¤Þ¤ì¤ë¡£ÀºÅÙ(precision)¤¬»ØÄꤵ¤ì¤¿ ¾ì¹ç¡¢»ØÄꤵ¤ì¤¿¿ô»ú¤òĶ¤¨¤ë¥ï¥¤¥Éʸ»ú¤Ï½ñ¤­¹þ¤Þ¤ì¤Ê¤¤¡£ÀºÅÙ¤Ï ½ñ¤­¹þ¤Þ¤ì¤ë ¥Ð¥¤¥È ¿ô¤ä ²èÌ̾å¤Î°ÌÃÖ ¤Ç¤Ï¤Ê¤¯ ¥ï¥¤¥Éʸ»ú ¤Î¿ô¤ò»ØÄꤹ¤ë¤³¤È¤ËÃí°Õ¤¹¤ë¤³¤È¡£ ÀºÅÙ¤¬¤Ê¤¤¾ì¹ç¤Ë¤ÏÇÛÎó¤Î½ªÃ¼¤Ë¥Ê¥ëʸ»ú¤ò´Þ¤àɬÍפ¬¤¢¤ë¡£ ÀºÅÙ¤ò»ØÄꤹ¤ë¾ì¹ç¤Ë¤Ï¡¢ÇÛÎó¤ÎºÇ¸å¤ËÅþÃ夹¤ëÁ°¤ËÊÑ´¹¤µ¤ì¤¿¥ï¥¤¥Éʸ»ú¤Î ¿ô¤¬¤½¤ì¤ËÅþ㤹¤ë¤è¤¦¡¢ÀºÅ٤Ͻ½Ê¬¤Ë¾®¤µ¤Ê¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¤â¤· l ½¤¾þ»Ò¤¬Â¸ºß¤¹¤ë¾ì¹ç¡¢ ``const wchar_t *'' °ú¤­¿ô¤Ï¥ï¥¤¥Éʸ»ú¤ÎÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤È¤ß¤Ê¤µ¤ì¤ë¡£ ÇÛÎó¤Î¥ï¥¤¥Éʸ»úÎó¤Ï½ªÃ¼¤Î¥Ê¥ë¥ï¥¤¥Éʸ»ú¤Î¼ê´Ö¤Þ¤Ç½ÐÎϤµ¤ì¤ë¡£ ¤â¤·ÀºÅÙ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ë¤Ï»ØÄꤵ¤ì¤¿ÀºÅٰʾå¤Îʸ»ú¤Ï½ÐÎϤµ¤ì¤Ê¤¤¡£ ÀºÅÙ¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ë¤Ï½ªÃ¼¤Î¥Ê¥ë¥ï¥¤¥Éʸ»ú¤ò´Þ¤àɬÍפ¬¤¢¤ë¡£ ÀºÅÙ¤ò»ØÄꤹ¤ë¾ì¹ç¤Ë¤Ï¤½¤ì¤Ï¥ï¥¤¥Éʸ»ú¤ÎÇÛÎó¤ÎÂ礭¤µ¤è¤ê¤â¾®¤µ¤¯¤Ê ¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

ÊÖ¤êÃÍ

¤³¤ì¤é¤Î´Ø¿ô¤Ï½ñ¤­¹þ¤Þ¤ì¤¿¥ï¥¤¥Éʸ»ú¤Îʸ»ú¿ô¤òÊÖ¤¹¡£ swprintf() ¤È vswprintf() ´Ø¿ô¤Î¾ì¹ç¤Ï ½ªÃ¼¤Î¥Ê¥ë¥ï¥¤¥Éʸ»ú¤Ï´Þ¤Þ¤Ê¤¤¡£¥¨¥é¡¼¤¬µ¯¤³¤Ã¤¿¾ì¹ç¤Ï -1 ¤òÊÖ¤¹¡£

½àµò

C99.

Ãí°Õ

wprintf() Åù¤ÎÆ°ºî¤Ï¸½ºß¤Î¥í¥±¡¼¥ë¤Î LC_CTYPE ¥«¥Æ¥´¥ê¤Ë°Í¸¤·¤Æ¤¤¤ë¡£

format ʸ»úÎó¤¬ ASCII °Ê³°¤Î¥ï¥¤¥Éʸ»ú¤ò´Þ¤ó¤Ç¤¤¤ë¾ì¹ç¡¢ ¼Â¹Ô»þ¤Î¥í¥±¡¼¥ë¤Î LC_CTYPE ¥«¥Æ¥´¥ê¤¬¥³¥ó¥Ñ¥¤¥ë»þ¤Î LC_CTYPE ¥«¥Æ¥´¥ê¤È °ìÃפ·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Î¤ß¥×¥í¥°¥é¥à¤ÏÀµ¾ï¤ËÆ°ºî¤¹¤ë¡£¤³¤ì¤Ï wchar_t ¤Îɽ¸½¤¬¥í¥±¡¼¥ë¤ä¥×¥é¥Ã¥È¥Û¡¼¥à¤Ë°Í¸¤·¤Æ¤¤¤ë¤³¤È¤Ë¸¶°ø¤¬¤¢¤ë¡£ ( GNU libc ¤Ç¤Ï¥ï¥¤¥Éʸ»ú¤È¤·¤Æ Unicode (ISO-10646) ¤Î¥³¡¼¥É¥Ý¥¤¥ó¥È¤ò »ÈÍѤ·¤Æ¤¤¤ë¡£Â¾¤Î¥×¥é¥Ã¥È¥Û¡¼¥à¤Ç¤Ï¤½¤¦¤Ç¤Ï¤Ê¤¤¡£Æ±ÍÍ¤Ë ISO C99 ¤Î \unnnn ·Á¼°¤ÎÈÆÍÑʸ»ú̾¾Î¤Ï¤³¤ÎÌäÂê¤ò²ò·è¤·¤Ê¤¤¡£) ¤³¤Î¤¿¤á¹ñºÝ²½¤µ¤ì¤¿¥×¥í¥°¥é¥à¤Ç¤Ï format ʸ»úÎó¤ò ASCII ¥ï¥¤¥É ʸ»ú¤Î¤ß¤Ë¤¹¤ë¤«¡¢¼Â¹Ô»þ¤Ë¹ñºÝ²½¤µ¤ì¤¿ÊýË¡¤Ç¹½À®¤¹¤ëɬÍפ¬¤¢¤ë (Î㤨¤Ð gettext() ¤È iconv() ¤ä mbstowcs() ¤òÁȤ߹ç¤ï¤Æ»ÈÍѤ¹¤ë)¡£

´ØÏ¢¹àÌÜ

fprintf(3), fputwc(3), fwide(3), printf(3), snprintf(3)