argz_add

Autres langues

Langue: ja

Autres versions - même langue

Version: 2007-05-18 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

̾Á°

argz_add, argz_add_sep, argz_append, argz_count, argz_create, argz_create_sep, argz_delete, argz_extract, argz_insert, argz_next, argz_replace, argz_stringify - argz ¥ê¥¹¥È¤òÁàºî¤¹¤ë¤¿¤á¤Î´Ø¿ô·²

½ñ¼°




#include <argz.h>



error_t

argz_add(char **argz, size_t *argz_len, const char *str);



error_t

argz_add_sep(char **argz, size_t *argz_len,


const char *str, int delim); error_t argz_append(char **argz, size_t *argz_len,
const char *buf, size_t buf_len); size_t argz_count(const char *argz, size_t argz_len); error_t argz_create(char * const argv[], char **argz,
size_t *argz_len); error_t argz_create_sep(const char *str, int sep, char **argz,
size_t *argz_len); error_t argz_delete(char **argz, size_t *argz_len, char *entry); void argz_extract(char *argz, size_t argz_len, char **argv); error_t argz_insert(char **argz, size_t *argz_len, char *before,
const char *entry); char * argz_next(char *argz, size_t argz_len, const char *entry); error_t argz_replace(char **argz, size_t *argz_len, const char *str,
const char *with, unsigned int *replace_count); void argz_stringify(char *argz, size_t len, int sep);
 

ÀâÌÀ

¤³¤ì¤é¤Î´Ø¿ô¤Ï glibc ¸ÇÍ­¤Ç¤¢¤ë¡£

argz vector ¤ÏŤµ¾ðÊóÉÕ¤­¤Îʸ»ú¥Ð¥Ã¥Õ¥¡¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£ ʸ»ú¥Ð¥Ã¥Õ¥¡¤Ç¤Ï¡¢Ê£¿ô¤Îʸ»úÎó¤¬ NULL ¥Ð¥¤¥È ('\0') ¤Ç¶èÀÚ¤é¤ì¤Æ¤ª¤ê¡¢ ʸ»úÎó¤ÎÇÛÎó¤È¤·¤Æ²ò¼á¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ Ťµ¤¬ 0 ¤Ç¤Ê¤¤¾ì¹ç¡¢¥Ð¥Ã¥Õ¥¡¤ÎºÇ¸å¤Î¥Ð¥¤¥È¤Ï NULL ¥Ð¥¤¥È¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

¤³¤ì¤é¤Î´Ø¿ô¤Ï argz vector ¤òÁàºî¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¡£ ¥Ú¥¢ (NULL,0) ¤Ï argz vector ¤Ç¤¢¤ê¡¢µÕ¤Ë¸À¤¨¤Ð Ťµ 0 ¤Î argz vector¤Ï NULL ¥Ý¥¤¥ó¥¿¤ò»ý¤¿¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¶õ¤Ç¤Ê¤¤ argz vector ¤Î³ä¤êÅö¤Æ¤Ï malloc(3) ¤ò»È¤Ã¤Æ¹Ô¤ï¤ì¤ë¡£¤·¤¿¤¬¤Ã¤Æ¡¢argz vector ¤ò²òÊü¤¹¤ë¤Î¤Ë free(3) ¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡£

argz_add() ¤Ï¡¢Ê¸»úÎó str ¤òÇÛÎó *argz ¤ÎËöÈø¤ËÄɲä·¡¢ *argz ¤È *argz_len ¤ò¹¹¿·¤¹¤ë¡£

argz_add_sep() ¤âƱÍͤÎÆ°ºî¤ò¤¹¤ë¤¬¡¢¶èÀÚ¤êʸ»ú delim ¤Ë¤·¤¿¤¬¤Ã¤Æʸ»úÎó str ¤òÊ£¿ô¤Îʸ»úÎó¤Ëʬ³ä¤¹¤ëÅÀ¤¬°Û¤Ê¤ë¡£ Î㤨¤Ð¡¢¶èÀÚ¤êʸ»ú ':' ¤ò»ØÄꤷ¤Æ¡¢Unix ¥µ¡¼¥Á¡¦¥Ñ¥¹¤ËÂФ·¤Æ ¤³¤Î´Ø¿ô¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤ë¤À¤í¤¦¡£

argz_append() ¤Ï argz vector (buf,buf_len) ¤Î¸å¤í¤Ë (*argz,*argz_len) ¤òÉÕ¤±²Ã¤¨¡¢ *argz ¤È *argz_len ¤ò¹¹¿·¤¹¤ë¡£ (¤·¤¿¤¬¤Ã¤Æ¡¢ *argz_len ¤Ï buf_len ¤À¤±Áý²Ã¤¹¤ë¡£)

argz_count() ¤Ï (argz,argz_len) Æâ¤Îʸ»úÎó¤Î¿ô¤ò¿ô¤¨¤ë¡£¼ÂºÝ¤Ë¤Ï NULL ¥Ð¥¤¥È ('\0') ¤Î¿ô¤ò¿ô¤¨¤Æ¤¤¤ë¡£

argz_create() ¤Ï¡¢Unix ή¤Î°ú¤­¿ô¥Ù¥¯¥È¥ë¤Ç¤¢¤ë argv ((char *) 0 ¤Ç½ªÃ¼¤µ¤ì¤ë) ¤ò¡¢argz vector (*argz,*argz_len) ¤ËÊÑ´¹¤¹¤ë¡£

argz_create_sep() ¤Ï¡¢NULL ½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó str ¤ò¶èÀÚ¤êʸ»ú sep ¤¬¸½¤ì¤ëËè¤Ëʬ³ä¤·¤Ê¤¬¤é¡¢argz vector (*argz,*argz_len) ¤ËÊÑ´¹¤¹¤ë¡£

argz_delete() ¤Ï¡¢ entry ¤Ç»Ø¤·¼¨¤µ¤ì¤¿Ê¸»úÎó¤ò argz vector (*argz,*argz_len) ¤«¤éºï½ü¤·¡¢ *argz ¤È *argz_len ¤ò¹¹¿·¤¹¤ë¡£

argz_extract() ¤Ï argz_create() ¤ÎÈ¿ÂФÎÁàºî¤ò¹Ô¤¦¡£argz vector (argz,argz_len) ¤òÄ´¤Ù¡¢ argv ¤«¤é»Ï¤Þ¤ëÇÛÎó¤ò¥µ¥Öʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤ÇËä¤á¤Æ¤¤¤­¡¢ °ìÈֺǸå¤Ë NULL ¤òÆþ¤ì¤Æ¡¢Unix ή¤Î argv ¥Ù¥¯¥È¥ë¤òºîÀ®¤¹¤ë¡£ ÇÛÎó argv ¤Ï argz_count(argz,argz_len) + 1 ¸Ä¤Î¥Ý¥¤¥ó¥¿¤ò¼ýÍƤǤ­¤ë¶õ´Ö¤ò»ý¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

argz_insert() ¤Ï argz_delete() ¤ÎÈ¿ÂФÎÁàºî¤ò¹Ô¤¦¡£argz vector (*argz,*argz_len) ¤Î°ÌÃÖ before ¤Ë°ú¤­¿ô entry ¤òÁÞÆþ¤·¡¢ *argz ¤È *argz_len ¤ò¹¹¿·¤¹¤ë¡£ before ¤¬ NULL ¤Î¾ì¹ç¡¢ entry ¤ÏËöÈø¤ËÁÞÆþ¤µ¤ì¤ë¡£

argz_next() ¤Ï argz vector ¤ò½çÈÖ¤ËÄ´¤Ù¤ë¤¿¤á¤Î´Ø¿ô¤Ç¤¢¤ë¡£ entry ¤¬ NULL ¤Î¾ì¹ç¡¢ºÇ½é¤Î¥¨¥ó¥È¥ê¤òÊÖ¤¹¡£ ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢¼¡¤Î¥¨¥ó¥È¥ê¤òÊÖ¤¹¡£ ¼¡¤Î¥¨¥ó¥È¥ê¤¬¤Ê¤¤¾ì¹ç¡¢NULL ¤òÊÖ¤¹¡£

argz_replace() ¤Ï¡¢ str ¤ò¤¹¤Ù¤Æ with ¤ÇÃÖ¤­´¹¤¨¤ë (ɬÍפ˱þ¤¸¤Æ argz ¤ÎºÆ³ä¤êÅö¤Æ¤ò¹Ô¤¦)¡£ replace_count ¤¬ NULL ¤Ç¤Ê¤¤¾ì¹ç¡¢ *replace_count ¤òÃÖ¤­´¹¤¨¤ò¹Ô¤Ã¤¿¿ô¤À¤±Áý¤ä¤¹¡£

argz_stringify() ¤Ï argz_create_sep() ¤ÎÈ¿ÂФÎÁàºî¤ò¹Ô¤¦¡£ ËöÈø¤Î NULL ¥Ð¥¤¥È°Ê³°¤ÎÁ´¤Æ¤Î NULL ¥Ð¥¤¥È ('\0') ¤ò sep ¤ÇÃÖ¤­´¹¤¨¤Æ¡¢ argz vector ¤òÄ̾ï¤Îʸ»úÎó¤ËÊÑ´¹¤¹¤ë¡£

ÊÖ¤êÃÍ

¥á¥â¥ê³ä¤êÅö¤Æ¤ò¹Ô¤¦ argz ´Ø¿ô·²¤Ï¤¹¤Ù¤Æ error_t ·¿¤ÎÊÖ¤êÃͤò»ý¤Ä¡£ À®¸ù¤·¤¿¾ì¹ç¤Ï 0 ¤òÊÖ¤·¡¢³ä¤êÅö¤Æ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ï ENOMEM ¤òÊÖ¤¹¡£

½àµò

¤³¤ì¤é¤Î´Ø¿ô¤Ï GNU ¤Ë¤è¤ë³ÈÄ¥¤Ç¤¢¤ë¡£Ãí°Õ¤·¤Æ»ÈÍѤ¹¤ë¤³¤È¡£

¥Ð¥°

NULL ¥Ð¥¤¥È¤Ç½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤ argz vector ¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢ segmentation fault ¤òµ¯¤³¤¹¤«¤â¤·¤ì¤Ê¤¤¡£

´ØÏ¢¹àÌÜ

envz(3)