一、文件介绍
在c语言中字符串操作的函数在string.c中进行实现,所以想要使用这些函数时必须要在头文件中添加string.h头文件。
二、函数介绍
函 数 名:strlen
函数原型:size_t strlen(const char* s);
功 能:计算指定字符串s的长度,不包括结束字符'\0'
返 回 值:字符串s的字符数
说 明:strlen函数返回的是字符串的实际长度,遇到第一个'\0'结束符的长度,sizeof返回的是变量声明后所占的内存数
函 数 名:strcmp
函数原型:int strcmp(const char* str1,const char* str2);
功 能:比较字符串str1和str2的内容是否一样(区分大小写),根据ASCII码进行比较
返 回 值:两个字符串中的字符全部相同返回0,str1字符串小于str2字符串返回-1,str1字符串大于str2字符串返回1
函 数 名:strcpy
函数原型:char* strcpy(char* dest,const char* src);
功 能:将字符串src的内容拷贝到字符串dest中,结束符'\0'也会拷贝进去,src字符串的长度大于dest字符数组的长度会报内存溢出错误
返 回 值:dest字符串的首地址
函 数 名:strncpy
函数原型:char* strncpy(char* dest,const char* src,size_t n);
功 能:将字符串src的n个字符拷贝到字符串dest中,结束符'\0'不会拷贝进去
返 回 值:字符串dest的首地址
函 数 名:strcat
函数原型:char* strcat(char* dest,const char* src);
功 能:将字符串src拼接到字符串dest后面,会将dest本来的结束符'\0'覆盖,然后尾部增加一个结束符'\0'
返 回 值:字符串dest的首地址
函 数 名:strncat
函数原型:char* strncat(char* dest,const char* src,size_t n);
功 能:将字符串src的n个字符拼接到字符串dest后面,会将dest本来的结束符'\0'覆盖,然后尾部增加一个结束符'\0'
返 回 值:字符串dest的首地址
函 数 名:strtok
函数原型:char* strtok(char* s,const char* delim);
功 能:根据分界符delim将字符串s分割成一个个的片段
返 回 值:下一个分割后的字符串片段,如果已无从分割则会返回NULL
说 明:当在字符串s中发现分割符delim时会将分隔符改为结束字符'\0'
使用方法:在第一次调用时传入参数s,后面的调用则将参数s赋值为NULL,然后判断返回结果是否为NULL
示例:
#include <stdio.h>
#include <string.h>
int main()
{
char s[]="12:13:14";
char *p = strtok(s,":");
printf("%s ",p);
while((p=strtok(NULL,":"))!=NULL){
printf("%s ",p);
}
return 0;
}
输出结果:12 13 14
函 数 名:strstr
函数原型:char* strstr(char* str,char* subStr);
功 能:检查字符串str中是否存在子字符串subStr
返 回 值:子字符串subStr在字符串str中出现的首地址,如果没有检索到则返回NULL
函 数 名:memset
函数原型:void *memset(void *buffer,int c,size_t size);
功 能:设置内存的值
函 数 名:memcpy
函数原型:void *memcpy(void *dest,const void *src,size_t size);
功 能:内存拷贝
函 数 名:vsprintf
函数原型:int vsprintf(char *str,const char *format,va_list arg);
功 能:使用参数列表格式化输出到字符串中