Rechercher une page de manuel
envz_add
Langue: ja
Version: 2007-05-18 (openSuse - 09/10/07)
Section: 3 (Bibliothèques de fonctions)
̾Á°
envz_add, envz_entry, envz_get, envz_merge, envz_remove, envz_strip - ´Ä¶ÊÑ¿ôʸ»úÎó¤ÎÁàºî½ñ¼°
#include <envz.h> error_t envz_add(char **envz, size_t *envz_len,
const char *name, const char *value); char * envz_entry(const char *envz, size_t *envz_len, const char *name); char * envz_get(const char *envz, size_t *envz_len, const char *name); error_t envz_merge(char **envz, size_t *envz_len,
const char *envz2, size_t envz2_len, int override); void envz_remove(char **envz, size_t *envz_len, const char *name); void envz_strip(char **envz, size_t *envz_len);
ÀâÌÀ
¤³¤ì¤é¤Î´Ø¿ô glibc ¸ÇͤǤ¢¤ë¡£argz vector ¤ÏŤµ¾ðÊóÉÕ¤¤Îʸ»ú¥Ð¥Ã¥Õ¥¡¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£ argz_add(3) ¤ò»²¾È¤Î¤³¤È¡£ envz vector ¤Ï¡¢Ê¸»úÎó¤¬ "name=value (̾Á°=ÃÍ)" ¤Î·Á¼°¤Ë¤Ê¤Ã¤Æ¤¤¤ëÆÃÊÌ¤Ê argz vector ¤Ç¤¢¤ë¡£ºÇ½é¤Î '=' °Ê¹ß¤Ï¤¹¤Ù¤ÆÃͤȤߤʤµ¤ì¤ë¡£'=' ¤¬¤Ê¤±¤ì¤Ð¡¢ ÃÍ¤Ï NULL ¤È²ò¼á¤µ¤ì¤ë¡£(ʸ»úÎó¤Î°ìÈֺǸå¤Îʸ»ú¤¬ '=' ¤Î¾ì¹ç¡¢Ãͤ϶õʸ»úÎó "" ¤È²ò¼á¤µ¤ì¤ë¡£)
¤³¤ì¤é¤Î´Ø¿ô¤Ï envz vector ¤òÁàºî¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¡£
envz_add() ¤Ï¡¢Ê¸»úÎó name = value (value ¤¬ NULL ¤Ç¤Ê¤¤¾ì¹ç) ¤Þ¤¿¤Ï name (value ¤¬ NULL ¤Î¾ì¹ç) ¤ò envz vector (*envz,*envz_len) ¤ËÄɲä·¡¢ *envz ¤È *envz_len ¤ò¹¹¿·¤¹¤ë¡£ name ¤ÈƱ¤¸Ì¾Á°¤ò»ý¤Ä¥¨¥ó¥È¥ê¤¬¤¢¤Ã¤¿¾ì¹ç¡¢¸µ¤Î¥¨¥ó¥È¥ê¤Ïºï½ü¤µ¤ì¤ë¡£
envz_entry() ¤Ï¡¢envz vector (envz,envz_len) ¤«¤é̾Á°¤¬ name ¤Î¥¨¥ó¥È¥ê¤ò¸¡º÷¤¹¤ë¡£ ¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ï¤½¤Î¥¨¥ó¥È¥ê¤òÊÖ¤·¡¢¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï NULL ¤òÊÖ¤¹¡£
envz_get() ¤Ï¡¢envz vector (envz,envz_len) ¤«¤é̾Á°¤¬ name ¤Î¥¨¥ó¥È¥ê¤ò¸¡º÷¤¹¤ë¡£ ¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ï¥¨¥ó¥È¥ê¤ÎÃͤòÊÖ¤·¡¢¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï NULL ¤òÊÖ¤¹¡£ (ÃÍ¤Ï NULL ¤Î¾ì¹ç¤â¤¢¤ë¤³¤È¤ËÃí°Õ¤¹¤ë¤³¤È¡£Ì¾Á°¤¬ name ¤Î¥¨¥ó¥È¥ê¤Ë '=' Éä¹æ¤¬¤Ê¤¤¾ì¹ç¤¬³ºÅö¤¹¤ë¡£)
envz_merge() ¤Ï¡¢ envz_add() ¤ÈƱ¤¸¤è¤¦¤Ë envz2 ¤Î³Æ¥¨¥ó¥È¥ê¤ò *envz ¤ËÄɲ乤롣 override ¤¬¿¿¤Î¾ì¹ç¡¢ envz2 ¤ÎÃÍ¤Ç *envz Æâ¤ÎƱ¤¸Ì¾Á°¤ò¤â¤ÄÃͤϾå½ñ¤¤µ¤ì¤ë¡£ µ¶¤Î¾ì¹ç¤Ï¾å½ñ¤¤µ¤ì¤Ê¤¤¡£
envz_remove() ¤Ï¡¢Ì¾Á°¤¬ name ¤Î¥¨¥ó¥È¥ê¤¬¤¢¤ì¤Ð (*envz,*envz_len) ¤«¤éºï½ü¤¹¤ë¡£
envz_strip() ¤Ï¡¢Ãͤ¬ NULL ¤Î¥¨¥ó¥È¥ê¤ò¤¹¤Ù¤Æºï½ü¤¹¤ë¡£
ÊÖ¤êÃÍ
¥á¥â¥ê³ä¤êÅö¤Æ¤ò¹Ô¤¦ envz ´Ø¿ô·²¤Ï¤¹¤Ù¤Æ error_t ·¿¤ÎÊÖ¤êÃͤò»ý¤Ä¡£ À®¸ù¤·¤¿¾ì¹ç¤Ï 0 ¤òÊÖ¤·¡¢³ä¤êÅö¤Æ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ï ENOMEM ¤òÊÖ¤¹¡£½àµò
¤³¤ì¤é¤Î´Ø¿ô¤Ï GNU ¤Ë¤è¤ë³ÈÄ¥¤Ç¤¢¤ë¡£Ãí°Õ¤·¤Æ»ÈÍѤ¹¤ë¤³¤È¡£Îã
#include <stdio.h> #include <envz.h> int main(int argc, char *argv[], char *envp[]) { int i, e_len = 0; char *str; for (i=0; envp[i] != NULL; i++) e_len += strlen(envp[i]) + 1; str = envz_entry(*envp, e_len, "HOME"); printf("%s\n", str); str = envz_get(*envp, e_len, "HOME"); printf("%s\n", str); exit(EXIT_SUCCESS); }
´ØÏ¢¹àÌÜ
argz(3)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre