C语言中一些常见的字符串函数

1.strlen库函数,是专门求字符串长度的,也只针对字符串,从参数给定地址向后一直找\0,统计\0之前出现的字符个数。

注意strlrn 返回类型是size_t,无符号整型

模拟实现strlen:

2.strcpy(字符串拷贝函数)

模拟实现strcpy:

3.strcat(字符串追加)

模拟实现:

4.strcmp (字符串比较函数)

模拟实现strcmp:

5.strstr (找子串函数)

模拟实现strstr:

6.strtok(字符串分割函数)

char * strtok ( char * str , const char * sep );
sep 参数是个字符串,定义了用作分隔符的字符集合
第一个参数指定一个字符串,它包含了 0 个或者多个由 sep 字符串中一个或者多个分隔符分割的标
记。
strtok函数找到str中的下一个标记,并将其用 \0 结尾,返回一个指向这个标记的指针。(注:
strtok 函数会改变被操作的字符串,所以在使用 strtok 函数切分的字符串一般都是临时拷贝的内容
并且可修改。)
strtok 函数的第一个参数不为 NULL ,函数将找到 str 中第一个标记, strtok 函数将保存它在字符串
中的位置。
strtok 函数的第一个参数为 NULL ,函数将在同一个字符串中被保存的位置开始,查找下一个标
记。
如果字符串中不存在更多的标记,则返回 NULL 指针。
7.memcpy(内存拷贝)
void * memcpy ( void * destination , const void * source , size_t num );
函数 memcpy source 的位置开始向后复制 num 个字节的数据到 destination 的内存位置。
这个函数在遇到 '\0' 的时候并不会停下来。
如果 source destination 有任何的重叠,复制的结果都是未定义的。
模拟实现memcpy:
8.memmove(拷贝重叠内存之间的数据)
void * memmove ( void * destination , const void * source , size_t num );
memcpy 的差别就是 memmove 函数处理的源内存块和目标内存块是可以重叠的。
如果源空间和目标空间出现重叠,就得使用 memmove 函数处理。
模拟实现memmove:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值