库函数argz

    xiaoxiao2025-01-18  5

    一、argz_add函数

    函数原型:error_t argz_add(char ** argz ,size_t * argz_len ,const char * str);头文件:#include <argz.h>返回值:0:成功  ENOMEM:空间不足功能:在数组* argz的末尾添加字符串str,并更新* argz和* argz_len:

             argz_len+=strlen(str)+1

    #include <stdio.h> #include <stdlib.h> #include <string.h> #include <fcntl.h> #include <sys/time.h> #include <argz.h> int main(void) { size_t len; char *buff1 = malloc(100); char *buff2 = "zhang:tao"; int data = ':'; memset(buff1,0,100); memset(buff1,'s',10); len = strlen(buff1); argz_add(&buff1,&(len),buff2); printf("%s %d %s \n",__func__,__LINE__,buff1); printf("%s %d %d \n",__func__,__LINE__,len); free(buff1); return 0; }

    结果如下所示:

    一、argz_add_sep函数

    函数原型:error_t argz_add_sep(char ** argz, size_t * argz_len, const char * str, int  delim);头文件:#include <argz.h>返回值:0:成功  ENOMEM:空间不足功能:和argz_add类似,但会将字符串str拆分为由分隔符delim分隔的子字符串。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <fcntl.h> #include <sys/time.h> #include <argz.h> int main(void) { size_t len; char *buff1 = malloc(100); char *buff2 = "zhang:tao"; int data = ':'; memset(buff1,0,100); memset(buff1,'s',10); len = strlen(buff1); argz_add_sep(&buff1,&(len),buff2,data); printf("%s %d %s \n",__func__,__LINE__,buff1); printf("%s %d %d \n",__func__,__LINE__,len); free(buff1); return 0; }

    结果如下所示:

     

    最新回复(0)