c语言中memcpy函数_带有示例的C中的memcpy()函数

memcpy()是C语言中的一个库函数,用于从一个内存位置复制内存块到另一个位置。它通常用于字符串复制。本文介绍了memcpy()的语法,并通过两个示例展示了如何复制字符串和字节数组。
摘要由CSDN通过智能技术生成

c语言中memcpy函数

memcpy()函数 (memcpy() function)

memcpy() is a library function, which is declared in the “string.h” header file - it is used to copy a block of memory from one location to another (it can also be considered as to copy a string to another).

memcpy()是一个库函数,在“ string.h”头文件中声明-它用于将一个内存块从一个位置复制到另一个位置(也可以视为将字符串复制到另一个位置)。

Syntax of memcpy():

memcpy()的语法:

    memcpy(void*str1, const void* str2, size_t n);

It copies n bytes of str2 to str1.

它将str2的 n个字节复制到str1中 。

Example 1) Copying a string to another (all bytes of a string to another)

示例1)将一个字符串复制到另一个(字符串的所有字节到另一个)

#include <stdio.h>
#include <string.h>
#define MAX_CHAR 50

int main(void) {
	char str1[MAX_CHAR] = "Hello World!";
	char str2[MAX_CHAR] = "Nothing is impossible";

	printf("Before copying...\n");
	printf("str1: %s\n",str1);
	printf("str2: %s\n",str2);

	//copying all bytes of str2 to str1
	memcpy(str1, str2, strlen(str2));

	printf("After copying...\n");
	printf("str1: %s\n", str1);
	printf("str2: %s\n", str2);
	
	return 0;
}

Output

输出量

Before copying...
str1: Hello World!
str2: Nothing is impossible
After copying...
str1: Nothing is impossible
str2: Nothing is impossible


Example 2) Copying some of the bytes from a byte array to another array

示例2)将某些字节从一个字节数组复制到另一个数组

#include <stdio.h>
#include <string.h>
#define MAXLEN 11

//function to print array 
void printArray(unsigned char str[], int length){
	int i;
	for(i=0; i<length;i++)
		printf("%02X ", str[i]);
	printf("\n");
}

int main(void) {
	unsigned char arr1[MAXLEN] = {0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70, 0x80, 0x90, 0x95};
	unsigned char arr2[MAXLEN] = {0};

	printf("Before copying...\n");
	printf("arr1: "); printArray(arr1, strlen(arr1));
	printf("arr2: "); printArray(arr2, strlen(arr2));

	//copying 5 bytes of arr1 to arr2
	memcpy(arr2, arr1, 5);
	printf("After copying...\n");
	printf("arr1: "); printArray(arr1, strlen(arr1));
	printf("arr2: "); printArray(arr2, strlen(arr2));
	
	return 0;
}


Output

输出量

Before copying...
arr1: 10 20 30 40 50 60 70 80 90 95
arr2:
After copying...
arr1: 10 20 30 40 50 60 70 80 90 95
arr2: 10 20 30 40 50 


翻译自: https://www.includehelp.com/c-programs/memcpy-function-in-c-with-example.aspx

c语言中memcpy函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值