一、
二、memcpy
void *memcpy( void *dest, const void *src, size_t count );
其总共有三个参数
第一个参数( void *dest ):用于存储复制内容
第二个参数( const void *src):复制的数据源
第三个参数( size_t count ):要被复制的字节数
void *memcpy(void *dest, const void *src, int count) { void *ptr = dest; if (NULL == dest || NULL == src || count <= 0) { return NULL; } while (count--) { *(char *)dest++ = *(char *)src++; } return ptr; }
int arr1[3]={1,2,3}; int arr2[5]; memcpy(arr2,arr1,3*sizeof(int)); for(int i=0;i<3;i++) { std::cout<<arr2[i]<<std::endl;// 输出 1 2 3 }
错误用法
int arr1[3]={1,2,3}; int arr2[5]; memcpy(arr2,arr1,3); for(int i=0;i<3;i++) { std::cout<<arr2[i]<<std::endl;// 输出 1795162113 0 520691440 }
char src[7]="abcdef"; char dest[7]; memcpy(dest,src, strlen(src)+1); std::cout<<"dest="<<dest; //输出 dest=abcdef