自学内容网 自学内容网

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);
}


原文地址:https://blog.csdn.net/Visual_progress/article/details/143771238

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!