C语言string.h头文件函数 您所在的位置:网站首页 c语言cstring C语言string.h头文件函数

C语言string.h头文件函数

2023-12-30 17:23| 来源: 网络整理| 查看: 265

PS:本文包含了大部分strings函数的说明,并附带举例说明。本来想自己整理一下的,发现已经有前辈整理过了,就转了过来。修改了原文一些源码的问题,主要是用char *字义字符串的问题,导致程序运行时崩溃。另外自己重写了部分测试程序,使其更能满足自己测试的需要。不当之处,还请海涵。 @函数原型:  char *strdup(const char *s) 

函数功能:  字符串拷贝,目的空间由该函数分配  

函数返回:  指向拷贝后的字符串指针 

参数说明:  src-待拷贝的源字符串 

所属文件:  

[cpp] view plain copy #include    #include    #include    int main()   {     char *dup_str, *string="abcde";     dup_str=strdup(string);     printf("%s", dup_str);     free(dup_str);     return 0;   }    

@函数名称:  strcpy 

函数原型:  char* strcpy(char* str1,char* str2); 

函数功能:  把str2指向的字符串拷贝到str1中去 

函数返回:  返回str1,即指向str1的指针 

参数说明: 

所属文件:  

[cpp] view plain copy #include    #include    int main()   {     char string[10];     char *str1="abcdefghi";     strcpy(string,str1);     printf("the string is:%s\n",string);     return 0;   }    

@函数名称:  strncpy 

函数原型:  char *strncpy(char *dest, const char *src,intcount) 

函数功能:  将字符串src中的count个字符拷贝到字符串dest中去 

函数返回:  指向dest的指针 

参数说明:  dest-目的字符串,src-源字符串,count-拷贝的字符个数 

所属文件:  

[cpp] view plain copy #include   #include   int main()   {      char*src = "bbbbbbbbbbbbbbbbbbbb";//20 'b's     char dest[50] ="aaaaaaaaaaaaaaaaaaaa";//20 'a's        puts(dest);     strncpy(dest, src, 10);        puts(dest);       return0;   }   输出: [cpp] view plain copy /******************************************* aaaaaaaaaaaaaaaaaaaa bbbbbbbbbbaaaaaaaaaa *******************************************/   注意:strncpy只复制指定长度的字符,不会自动在末尾加'\0'。若指定长度超过源字符串长度,不够的部分补‘\0’,

 

@函数名称:  strcat 

函数原型:  char* strcat(char * str1,char * str2); 

函数功能:  把字符串str2接到str1后面,str1最后的'\0'被取消 

函数返回:  str1 

参数说明: 

所属文件:  

[cpp] view plain copy #include    #include   int main()   {     char buffer[80];    strcpy(buffer,"Hello ");     strcat(buffer,"world");     printf("%s\n",buffer);     return 0;   }    

@函数名称:  strncat 

函数原型:  char *strncat(char *dest, const char *src, size_t maxlen) 

函数功能:  将字符串src中前maxlen个字符连接到dest中 

函数返回: 

参数说明: 

所属文件:  

[cpp] view plain copy #include    #include   char buffer[80];  int main()   {     strcpy(buffer,"Hello ");     strncat(buffer,"world",8);     printf("%s\n",buffer);     strncat(buffer,"*************",4);     printf("%s\n",buffer);     return 0;   }   注意:与strncpy不同的是,strncat会自动在末尾加‘\0’,若指定长度超过源字符串长度,则只复制源字符串长度即停止

 

@函数名称:  strcmp 

函数原型:  int strcmp(char * str1,char * str2); 

函数功能:  比较两个字符串str1,str2. 

函数返回:  str1str2,返回正数.  

参数说明: 

所属文件:  

[cpp] view plain copy #include    #include    int main()   {     char *buf1="aaa", *buf2="bbb",*buf3="ccc";     int ptr;     ptr=strcmp(buf2, buf1);     if(ptr>0)       printf("buffer 2 is greater thanbuffer 1\n");     else       printf("buffer 2 is less thanbuffer 1\n");     ptr=strcmp(buf2, buf3);     if(ptr>0)       printf("buffer 2 is greater thanbuffer 3\n");     else       printf("buffer 2 is less thanbuffer 3\n");     return 0;   }  

 

@函数名称:  strncmp 

函数原型:  int strncmp(char *str1,char *str2,int count) 

函数功能:  对str1和str2中的前count个字符按字典顺序比较 

函数返回:  小于0:str1str2 

参数说明:  str1,str2-待比较的字符串,count-比较的长度 

所属文件:  

[cpp] view plain copy #include   #include   int main()   {      char str1[] ="aabbc";//     char str2[] = "abbcd";//     //为使测试程序更简练,此处假定了strncmp只返回-1,0,1三个数     char res_info[] = {''};     int res;        //前1个字符比较     res = strncmp(str1, str2, 1);     printf("1:str1%c str2\n", res_info[res+1]);          //前3个字符比较     res = strncmp(str1, str2, 3);     printf("3:str1%c str2\n", res_info[res+1]);  }  

输出:

[cpp] view plain copy /**************************************** 1:str1= str2 3:str1


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有