内存复制函数memcpy与内存替换函数memset

一.memcpy函数声明:

void *memcpy(
	void* dest,
	const void* src,
	size_t count
);

作用是从src指向的内存地址开始,复制count字节dest指向的内存地址。

dest指向的内存地址必须是一片已经分配好的内存空间首地址。

memcpy由于是复制内存,故可用于复制任何数据,包括int、char、结构体、类、图片、文档,等等。

 

头文件:

C语言中使用#include <string.h>;

C++中使用#include <cstring>#include<string.h>都可以。

 

通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy

 

二.memset函数声明:

void*memset(void* src, intch, size_t n);

作用是将src中前n个字节用ch替换并返回src

若要清空一片内存区,比如要把一个char a[20]清零,则:

memset(a,0,20);

 

三.strncat函数声明:

void *strncat (char *dest,char *src,int n);

作用是将src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
memset函数memcpy函数是C/C++标准库中的两个函数,用于对内存进行操作。 1. memset函数: - 函数原型:`void* memset(void* dest, int value, size_t n);` - 功能:将一块内存设置为指定的值。 - 参数: - `dest`:要设置的内存块的起始地址。 - `value`:要设置的值,通常是一个无符号字符。 - `n`:要设置的字节数。 - 返回值:指向目标内存块的指针。 - 示例: ```cpp unsigned char AIdataGram[111]; memset(AIdataGram, 0, 111 * sizeof(unsigned char)); ``` - 上述示例使用memset函数将AIdataGram数组中的所有元素设置为0,以实现数组的初始化。 2. memcpy函数: - 函数原型:`void* memcpy(void* dest, const void* src, size_t n);` - 功能:将源内存块的内容复制到目标内存块。 - 参数: - `dest`:目标内存块的起始地址,即数据将被拷贝到的位置。 - `src`:源内存块的起始地址,即数据将被拷贝的位置。 - `n`:要拷贝的字节数。 - 返回值:指向目标内存块的指针。 - 示例: ```cpp char src[] = "Hello"; char dest[10]; memcpy(dest, src, strlen(src) + 1); ``` - 上述示例使用memcpy函数将源数组src中的内容复制到目标数组dest中。注意要确保目标数组有足够的空间来存储源数组的内容。 总结:memset函数用于设置内存块的值,而memcpy函数用于复制内存块的内容。它们都是在处理内存操作时常用的函数,能够提供高效的内存操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值