Next: Internationalization, Previous: CPU Portability, Up: Writing C [Contents]
C¤Î¼ÂÁõ¤Ï½½Ê¬¤Ë°ã¤¦¡£ANSI C¤ÏÈó¸ß´¹À¤ò¸º¤é¤¹¤¬¡¢Ìµ¤¯¤Ê¤ê¤Ï¤·¤Ê¤¤¡£ ¤½¤Î°ìÊý¤Ç¤Ï¡¢Â¿¤¯¤Î¥æ¡¼¥¶¤¬GNU¥½¥Õ¥È¥¦¥§¥¢¤òANSI°ÊÁ°¤Î¥³¥ó¥Ñ¥¤¥é¤Ç ¥³¥ó¥Ñ¥¤¥ë¤·¤¿¤¬¤ë¡£¤³¤Î¾Ï¤Ç¤Ï¡¢°Ü¿¢À¤òÉÔɬÍפ˼º¤¯¤µ¤Ê¤¤¤è¤¦¡¢É¸½àC¥é ¥¤¥Ö¥é¥ê´Ø¿ô¤ò¤É¤ì¤°¤é¤¤¤¿¤¯¤µ¤ó¡¢¤¢¤ë¤¤¤Ï¡¢¾¯¤Ê¤¯»È¤¦¤«¡¢¿ä¾©¤¹¤ëÊýË¡¤ò ¸«¤»¤ë¡£
sprintf
¤ÎÃͤò»È¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤¡£¤¢¤ë¥·¥¹¥Æ¥à¤Ç¤Ï½ñ¤«¤ì¤¿Ê¸»ú¤Î¿ô¤ò
ÊÖ¤·¡¢¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¤Ç¤½¤¦¤À¤È¤¤¤¦¤ï¤±¤Ç¤Ï¤Ê¤¤¡£
main
¤Ïint
·¿¤òÊÖ¤¹¤ÈÀë¸À¤¹¤ë¤Ù¤¤À¡£¤½¤ì¤Ïexit
¤ò¸Æ¤Ö
¤«¡¢À°¿ô¾õÂÖ¥³¡¼¥É¤òÊÖ¤¹¤³¤È¤Ë¤è¤Ã¤Æ½ªÎ»¤¹¤ë¤Ù¤¤À¡£·è¤·¤ÆÌ¤ÄêµÁ¤ÎÃͤòÊÖ
¤¹¤³¤È¤¬¤Ç¤¤Ê¤¤¤è¤¦¤Ë¤·¤Ê¤µ¤¤¡£
¤¢¤ë¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¥·¥¹¥Æ¥à´Ø¿ô¤ÎÀë¸À¤Ï¤Û¤È¤ó¤É¤¬´Ö°ã¤Ã¤Æ¤¤¤ë¡£¾×ÆÍ¤òºÇ¾® ²½¤¹¤ë¤¿¤á¤Ë¡¢¥·¥¹¥Æ¥à´Ø¿ô¤òÀë¸À¤¹¤ë¤Î¤ò¥·¥¹¥Æ¥à¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ËǤ¤»¤Ê ¤µ¤¤¡£¤â¤·¥Ø¥Ã¥À¤¬´Ø¿ô¤òÀë¸À¤·¤Ê¤±¤ì¤Ð¡¢Àë¸À¤»¤º¤ËÃÖ¤¤¤Æ¤ª¤¤Ê¤µ¤¤¡£
´Ø¿ô¤òÀë¸À¤»¤º¤Ë»È¤¦¤Î¤Ï¤¤ì¤¤¤¸¤ã¤Ê¤¤¤è¤¦¤Ë¸«¤¨¤ë¤«¤â¤·¤ì¤Ê¤¤¤¬¡¢¼ÂºÝ¤Ë ¤Ï¤³¤ì¤¬ËÜÅö¤Ëµ¯¤³¤ë¥·¥¹¥Æ¥à¾å¤Î¡¢¤Û¤È¤ó¤É¤Î¥·¥¹¥Æ¥à¥é¥¤¥Ö¥é¥ê´Ø¿ô¤ËÂФ· ¤Æ¾å¼ê¤¯Æ¯¤¯¡£ÂоÈŪ¤Ë¡¢¸½¼Â¤ÎÀë¸À¤ÏÉÑÈˤ˸½¼Â¤Î¾×ÆÍ¤ò°ú¤µ¯¤³¤·¤Æ¤¤¤ë¡£
malloc
¤ärealloc
¤òÀë¸À¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
¤Û¤È¤ó¤É¤ÎGNU¥×¥í¥°¥é¥à¤Ï¡¢´·½¬Åª¤Ëxmalloc
¤äxrealloc
¤È̾ÉÕ
¤±¤é¤ì¤ë´Ø¿ô¤ÎÃæ¤Ç¡¢¤¿¤Ã¤¿°ì²ó¤À¤±¤½¤ì¤é¤ò»ÈÍѤ¹¤ë¡£¤³¤ì¤é¤Î´Ø¿ô¤Ï¤½¤ì¤¾
¤ìmalloc
¤ärealloc
¤ò¸Æ¤Ó¡¢·ë²Ì¤ò³Îǧ¤¹¤ë¡£
xmalloc
¤äxrealloc
¤Ï¤¢¤Ê¤¿¤Î¥×¥í¥°¥é¥à¤ÇÄêµÁ¤µ¤ì¤ë¤Î¤Ç¡¢·¿
¤Î¾×ÆÍ¤Î´í¸±À¤Ê¤·¤Ë¾¤Î¥Õ¥¡¥¤¥ë¤Ë¤½¤ì¤é¤òÀë¸À¤Ç¤¤ë¡£
¤Û¤È¤ó¤É¤Î¥·¥¹¥Æ¥à¾å¤Ç¡¢int
¤Ï¥Ý¥¤¥ó¥¿¤ÈƱ¤¸Ä¹¤µ¤À¡£¤½¤ì¤æ¤¨¡¢
malloc
¤ärealloc
¤Î¸Æ¤Ó½Ð¤·¤Ï¾å¼ê¤¯Æ°¤¯¡£¿ô¾¯¤Ê¤¤Î㳰Ū¤Ê¥·
¥¹¥Æ¥à(¤Û¤È¤ó¤É¤Ï64¥Ó¥Ã¥È¡¦¥Þ¥·¥ó)¤Ç¤Ï¡¢malloc
¤ärealloc
¤Î
¾ò·ïÉÕ¤Àë¸À¤ò»È¤¦¤«¡¢¤³¤ì¤é¤ÎÀë¸À¤ò¤½¤ì¤é¤Î¥·¥¹¥Æ¥à¤ËÆÃ²½¤·¤¿
ÀßÄê¥Õ¥¡¥¤¥ë¤ËÃÖ¤¯¤³¤È¤¬¤Ç¤¤ë¡£
¤³¤Î¤³¤È¤Ï¡¢¤¢¤Ê¤¿¤¬»×¤¦¤è¤ê¤âÌäÂê¤òµ¯¤³¤µ¤Ê¤¤¡£Â¿¤¯¤Î¥·¥¹¥Æ¥à¤¬¤Þ¤À¥µ¥Ý¡¼ ¥È¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢¤¤¤º¤ì¤Ë¤»¤è¡¢¿·¤·¤¤ANSIʸ»úÎó´Ø¿ô¤ÏÈò¤±¤ë ¤Ù¤¤À¡£»È¤Ã¤ÆÎɤ¤Ê¸»úÎó´Ø¿ô¤Ï¼¡¤ÎÄ̤ê¤À¡£
strcpy strncpy strcat strncat strlen strcmp strncmp strchr strrchr
Ê£À½¤äÏ¢·ë¤Î´Ø¿ô¤Ï¡¢¤½¤ì¤é¤ÎÃͤò»È¤ï¤Ê¤¤¸Â¤ê¡¢Àë¸À¤Ê¤·¤Ç¾å¼ê¤¯Æ¯¤¯¡£Àë¸À
¤Ê¤·¤Ë¤½¤ì¤é¤ÎÃͤò»È¤¦¤È¡¢¥Ý¥¤¥ó¥¿¤ÎÂ礤µ¤¬int
¤ÎÂ礤µ¤È°ã¤¦¥·¥¹
¥Æ¥à¤ä¡¢¤ª¤½¤é¤¯Â¾¤Î¾ì¹ç¤Ë¼ºÇÔ¤¹¤ë¡£¤½¤ì¤é¤ÎÃͤò»È¤¦¤Î¤òÈò¤±¤ë¤Î¤Ï¤µ¤µ¤¤
¤Ê¤³¤È¤À¤«¤é¡¢¤½¤¦¤·¤Ê¤µ¤¤¡£
Èæ³Ó¤Î´Ø¿ô¤ästrlen
¤Ï¡¢¤Û¤È¤ó¤É¤Î¥·¥¹¥Æ¥à¤Ç¡¢¤ª¤½¤é¤¯GNU¥½¥Õ¥È¥¦¥§
¥¢¤¬Æ°¤¯¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¤Ç¡¢Àë¸À¤Ê¤·¤Ë¾å¼ê¤¯Æ¯¤¯¡£¾¯¿ô¤Î¥·¥¹¥Æ¥à¤Ç
¾ò·ïÉÕ¤¤Ç¤½¤ì¤é¤òÀë¸À¤¹¤ë¤³¤È¤¬É¬ÍפÀ¤Èµ¤ÉÕ¤¯¤«¤â¤·¤ì¤Ê¤¤¡£
¸¡º÷´Ø¿ô¤Ïchar *
¤òÊÖ¤¹¤ÈÀë¸À¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¹¬±¿¤Ë¤â¡¢¤½¤ì
¤é¤¬ÊÖ¤¹¥Ç¡¼¥¿·¿¤Ë¤Ï¿ÍÍÀ¤¬¤Ê¤¤¡£¤·¤«¤·¤½¤ì¤é¤Î̾Á°¤Ë¤Ï¿ÍÍÀ¤¬¤¢¤ë¡£¤¢
¤ë¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¤½¤ì¤é¤Î´Ø¿ô¤Ëindex
¤Èrindex
¤È¤¤¤¦Ì¾Á°¤òÉÕ
¤±¤Æ¤¤¤ë¡£Â¾¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢strchr
¤Èstrrchr
¤È¤¤¤¦Ì¾Á°¤ò»È
¤¦¡£¤¢¤ë¥·¥¹¥Æ¥à¤ÏξÊý¤Î̾Á°¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤¬¡¢¤É¤Ã¤Á¤âÁ´¤Æ¤Î¥·¥¹¥Æ¥à¤ÇƯ
¤¯¤ï¤±¤Ç¤Ï¤Ê¤¤¡£
ÊÒÊý¤ÎÁȤÎ̾Á°¤ò¼è¤ê½Ð¤·¡¢¥×¥í¥°¥é¥àÃæ¤Ç¤½¤ì¤ò»È¤¦¤Ù¤¤À¡£(º£Æü¤Ç¤Ï¡¢¿·
¤·¤¤¥×¥í¥°¥é¥à¤Ë¤Ïstrchr
¤Èstrrchr
¤òÁª¤Ö¤Î¤¬¤è¤êÎɤ¤¡£¤½¤ì
¤é¤Ïɸ½à¤ÎANSI̾¤À¤«¤é¡£) ¤½¤ì¤é¤Î̾Á°¤òξÊý¤È¤âchar *
¤òÊÖ¤¹
´Ø¿ô¤È¤·¤ÆÀë¸À¤·¤Ê¤µ¤¤¡£¤½¤ì¤é¤Î̾Á°¤ò¥µ¥Ý¡¼¥È¤·¤Ê¤¤¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Â¾Êý¤Î
ÁȤΤ³¤È¤Ð¤ò¥Þ¥¯¥í¤È¤·¤ÆÄêµÁ¤·¤Ê¤µ¤¤¡£Î㤨¤Ð¡¢strchr
¤È
strrchr
¤Î̾Á°¤òÄ̤·¤Æ»È¤¤¤¿¤¤¤Ê¤é¡¢¥Õ¥¡¥¤¥ë¤Î»Ï¤á(¤¢¤ë¤¤¤Ï¥Ø¥Ã¥À
¤Ë)¼¡¤Î¤è¤¦¤Ë½ñ¤¤¤Æ¤ª¤¯¡£
#ifndef HAVE_STRCHR #define strchr index #endif #ifndef HAVE_STRRCHR #define strrchr rindex #endif char *strchr (); char *strrchr ();
¤³¤³¤Ç¤Ï¡¢HAVE_STRCHR
¤ÈHAVE_STRRCHR
¤¬Âбþ¤¹¤ë´Ø¿ô¤¬Â¸ºß¤¹
¤ë¥·¥¹¥Æ¥à¤Ç¤ÏÄêµÁ¤µ¤ì¤ë¥Þ¥¯¥í¤À¤È¤ß¤Ê¤·¤Æ¤¤¤ë¡£¤½¤ì¤é¤òŬÀÚ¤ËÄêµÁ¤¹¤ë°ì
¤Ä¤Î¤ä¤êÊý¤ÏAutoconf¤ò»È¤¦¤³¤È¤À¡£