一、argz_append函数
函数原型:error_t argz_append(char ** argz,size_t * argz_len,const char * buf,size_t buf_len);头文件:#include <argz.h>返回值:0:成功 ENOMEM:空间不足功能:在(* argz,* argz_len)之后追加argz向量(buf,buf_len)并更新* argz和 * argz_len。(因此,* argz_len将被buf_len增加。),argz后增加buf,增加的长度为buflen。 #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_append(&buff1,&(len),buff2,6); printf("%s %d %s \n",__func__,__LINE__,buff1); printf("%s %d %d \n",__func__,__LINE__,len); free(buff1); return 0; }结果如下所示:
二、argz_count函数
函数原型:size_t argz_count(const char * argz,size_t argz_len);头文件:#include <argz.h>返回值:返回字符串中\0的个数功能:计算字符串的数量,即(argz,argz_len)中的空字节数('\ 0' ) #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 = "zhang0tao0helloworld"; char str[10] = {'1','\0','5','\0','4','\0','3','\0','2','\0',}; int i = 0; for(i=0;i<10;i++){ buff1[i] = str[i]; } len = argz_count(buff1,10); printf("%s %d %d \n",__func__,__LINE__,len); free(buff1); return 0; }结果为: