C语言 常用内存函数

C语言 常用内存函数

1.memset
memset在头文件memory.h中 头文件memory.h为内存操作函数头文件
memset 第一个参数是内存的首地址,第二个参数是要设置的字符,第三个参数是正数,从首地址开始设置多少个字节为第二个参数
memset多用于清空字符串 用法 memset(str,’\0’,strlen(str));

实验代码与结果:
C语言 常用内存函数_第1张图片

2.memcpy 内存复制

memcpy 是字符串拷贝函数,在头文件memory.h中
memcpy 的三个参数 第一个参数是复制的字符串,第二个参数是复制到的字符串,第三个参数是复制的字符串的位数
C语言 常用内存函数_第2张图片
上图代码为 从字符串str中复制5位字符到字符串strl中
运行结果

C语言 常用内存函数_第3张图片
memcpy按照内存字节来拷贝,不管什么类型,都是拷贝二进制数据,所以四字节的整数也可以
代码与运行结果:
C语言 常用内存函数_第4张图片
C语言 常用内存函数_第5张图片

memccpy与memcpy都是内存拷贝函数,但是memccpy会遇到指定字符终止
代码
C语言 常用内存函数_第6张图片

memccpy前面加下划线是为了符合最新C语言标准。
代码是指将str的字符复制到strl中,总共复制7个字节,遇到o则停止

运行结果
C语言 常用内存函数_第7张图片
如果不存在指定字符,则结果memccpy与memcpy相同

3.memchr 内存搜索字符函数

memchr 是搜索字符的函数
代码
C语言 常用内存函数_第8张图片
此段代码是指在字符串str中前进30个字节搜索字符z 如果存在则返回地址,如果不存在则返回为空

C语言 常用内存函数_第9张图片
4.memicmp 内存中比较数据是否相同的函数

memicmp是内存中比较数据是否相同的函数,忽略大小写

代码
C语言 常用内存函数_第10张图片
代码是比较buf1和buf2的前5个字节是否相等。

运行结果

C语言 常用内存函数_第11张图片

memicmp起到挖掘字符串前几个字节判断是否相等,并且忽略大小写,相等返回0不等返回非0
前两个参数为要比较的两个参数的首地址,第三个参数为要比较的长度

你可能感兴趣的:(C语言)