strcpy和memcpy都是标准C库函数。
strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。
memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。
strcpy不需要指定长度,它遇到字符串结束符"\0"便结束。
memcpy则是根据其第3个参数决定复制的长度。
通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy。
memcpy(dst, src, size);
从src处拷贝size个bytes到dst处
strcpy(dst, src);
从src处拷贝字符到dst处,一直到'\0'
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
char a[] = "aaaaaaaaaaaaaaaa";
cout << "a[]:" << a[12] << sizeof(a) << endl;
char b[100];
strcpy(b,a);
cout << "b[]:" << b << sizeof(b) << endl;
char c[100] = " ";
memcpy(c,a,7);
cout << "c[]:" << c << sizeof(c) << endl;
return 0;
}