string.h中的常见函数
作者:
Arch_恺
,
2020-03-24 23:21:36
,
所有人可见
,
阅读 850
#include<cstring>
1.strlen(s) : 返回字符串s的长度
2.memset():
void * memset ( void * ptr, int value, size_t num );
作用:Fill block of memory(Sets the first num bytes of the block of memory pointed by ptr to the specified value (interpreted as an unsigned char).) (来自C++ reference),注意interpreter as an unsigned char,赋值时是对每一个字节赋值。
应用:memset(a, -1, sizeof(a)) :对a数组整体赋值 -1
memset(a, 0, sizeof(a)) :对a数组整体赋值 0
memset(a, 127, sizeof(a)):对a数组整体赋值2139062143(可作INF用)
memset(a, 128, sizeof(a)):对a数组整体赋值-2139062144(可作-INF用)
3.strcmp(s1, s2) : 字符串比较
s1 == s2 : 返回0
s1 > s2 : 返回值 > 0
s2 < s1 : 返回值 < 0
比较规则: 按照ASCII值的大小从左到右依次比较,遇到不同字母便返回。
4.strcat(s1, s2) : 将s2接到s1的末尾处
strncat(s1, s2, n):只接s2的前n个字符
5.strcpy(s1, s2) : 将s2复制到s1(会覆盖s1的内容)
strncpy(s1, s2, n):只复制s2的前n个字符
6.strstr(s1, s2) : 返回s2在s1中首次出现的地址,若s2在s1中不存在,返回NULL
7.strchr(s1, ch) : 作用跟上边儿一样,区别是这个函数比较的是字符串和单个字符。
8.strrchr(s1, ch): 与strchr的区别是strchr返回首次出现的地址(从前往后找到的第一个),而strrchr返回的是最后一次出现的地址(从后往前找到的第一个)