补充一:函数-memcmp()
描述:把两个内存区域的前n个字节进行比较。简单来说就是比较,与strncmp作用一样。
格式:memcmp(aim,str,n)
参数:n是比较两个字符串的前几个字符,起限制的作用。就拿每一个字符串的前n个字符进行比较。
该函数返回值如下:
- 如果返回值小于 0,则表示 aim 小于 str。
- 如果返回值大于 0,则表示 aim 大于 str。
- 如果返回值等于 0,则表示 aim 等于 str。
代码摘自自己写的strncmp的代码:
#include<stdio.h>
#include<string.h>
int main()
{
char aim[]={"I study hard yes"};
char str[]={"I study hard"};
int retu;
retu=strncmp(aim,str,7); //分别拿aim和str前7个字符进行比较
if(retu<0){
printf("aim小于str");
}
else if(retu==0){
printf("aim等于str");
}
else{
printf("aim大于str");
}
return 0;
}
补充二:函数-memmove()
描述:简单来说是复制函数,类似于memcpy,但内存存储方面,memmove()是比memcpy()更安全。
格式:memmove(aim,str,n)
注:如果aim和str没有重叠区域,则和memcpy()的函数功能相同;如果有重叠,memmove()能够保证str在被覆盖之前将重叠区域的字节拷贝到aim中,复制后str区域的内容会被更改。
代码见真知:
#include<stdio.h>
#include<string.h>
int main()
{
char aim[]="oldyears";
char str[]="newyears";
memmove(aim,str,3);
printf("复制之后:%s",aim);
return 0;
}
都看到这里了,不坚持下去?
继续哦!
补充三:函数-memset()
描述:此函数的作用是替换或叫覆盖。
格式:memset(aim,c,n)
参数:aim是目标区域;
c是要存放进目标区域的字符;
n是放进字符的个数。
代码安排上:
#include<stdio.h>
#include<string.h>
int main()
{
char aim[]="oldyears";
char c='@';
memset(aim,c,3); //将3个c变量中字符替换掉aim数组的前三个
printf("替换之后:%s",aim);
return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/119746.html