字符串处理函数
1.strlen
size_t strlen(const char *s);
功能:计算字符串长度(不算结束符)
s:所求字符串
返回值:字符串长度
2.strcmp
int strcmp(const char *s1,const char *s2);
功能:比较两个字符串
返回值:
若s1 > s2 ,返回一个正数
若s1 < s2 , 返回一个负数
若s1 = s2 ,返回0
比较规则:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇’\0’为止
int strncmp(const char *s1,const char *s2,size_t n);
功能:指定比较size个字符
返回值:
若s1 > s2 ,返回一个正数
若s1 < s2 , 返回一个负数
若s1 = s2 ,返回0
注意:strcmp和strncmp区别在于strcmp是专门用来比较字符串的,而strncmp是用来直接比较字符的所有,使用范围是有大有小的,与strncmp类似的还有memcmp函数
3.strcpy
char *strcpy(char *dest ,const char *src);
功能:字符串拷贝函数
dest:目标字符串指针
src:源字符串指针
注意:src 和 dest 所指的内存区域不能重叠,且 dest 必须有足够的空间放置 src 所包含的字符串(包含结束符NULL)。
char *strncpy(char *dest,const char *src,size_t n);
功能:字符串拷贝函数,拷贝指定字节数
dest:目标字符串指针
src:源字符串指针
注意:strncpy()会将字符串src前n个字符拷贝到字符串dest,不像strcpy(),strncpy()不会向dest追加结束标记’\0’,这就引发了很多不合常理的问题
4.strcat
char *strcat(char *dest,const char *src);
功能:字符串连接函数
dest:目标字符串指针
src:源字符串指针
char *strncat(char *dest,const char *src,size_t n);
功能:把字符串src的前n位字符连接到dest后
dest:目标字符串指针
src:源字符串指针
n:连接的字符数量,大于strlen(src)没有关系,因为会读取到结束标志
注意:两个函数中,dest要保持足够的内存空间来接收src的字符,dest的结束符会被替代
5.strstr
char *strstr(const char *haystack,const char *needle);
功能:判断needle是否是haystack的子串
返回值:如果是返回第一次出现的首地址,若不是则返回NULL
6.strchr
char *strchr(const char *s,int c);
功能:判断字符c是否存在在字符串s
返回值:返回第一次出现的地址
char *strrchr(const char *s,int c);
功能:判断字符c是否存在在字符串s
返回值:返回最后一次出现的地址