C++copy memcpy strcpy

1.copy

template< class InputIt, class OutputIt >
OutputIt copy( InputIt first, InputIt last, OutputIt d_first );

InputIt和OutputIt可以是迭代器类型也可以是指针类型 

first指向数组或者容器的第一个元素位置,last指向最后一个元素的下一个位置,遵循左闭右开原则,d_first指向复制产出对象第一个元素位置

#define _CRT_SECURE_NO_WARNINGS 0

using namespace std;
#include<iostream>
#include<vector>
int main()
{
	char ch[] = "ABCDEFGHIJKLM";
	char cp[14];
	copy(ch, ch + strlen(ch)+1, cp);//strlen(ch)+1最后一个元素的下一个位置
	cout << cp << endl;//输出ABCDEFGHIJKLM
}

 2.memcpy

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

memcpy使用的是指针拷贝,dest和src都是指针,count是拷贝的字符数,memcpy是以字符为单位进行拷贝的。 

int main()
{
	int ch[] = { 0,1,2,3,4,5,6,7,8,9 };
	int cp[10];
	memcpy(cp,ch,sizeof(ch));
	for (auto i : cp)
	{
		cout << i << " ";//输出0 1 2 3 4 5 6 7 8 9
	}
}

3.strcpy

char* strcpy(char* dest, const char* src);

 strcpy用的是指针,dest指向复制体第一个元素位置,src指向被复制体第一个元素的位置,一般用于字符串的复制 

int main()
{

	char ch[] = "DASDA";
	char cp[10];
	strcpy(cp,ch);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值