memcpy()
函数原型void *memcpy(void *dest, const void *src, size_t n);
由src指向地址为起始地址的连续n个字节的数据复制到以dest指向地址为起始地址的空间内。
1.source和destin所指内存区域不能重叠,函数返回指向destin的指针。
2.与strcpy相比,memcpy并不是遇到'\0'就结束,而是一定会拷贝完n个字节。 3.如果目标数组destin本身已有数据,执行memcpy()后,将覆盖原有数据(最多覆盖n)。如果要追加数据,则每次执行memcpy后,要将目标数组地址增加到你要追加数据的地址。以上为基本道理
运用于文件读写,字节数的压缩等
本人对字节数的压缩深有感触!
比如一个short本来站2个字节,但是实际应用中可能我们不需要那么多的字节数,比如一些简短的ID号,这时候我们可以通过内存拷贝形式进行处理!
short iID=0;
memcpy(buff,&iID,1);
这样会使数据字节数减少,如果是通信,可以大大降低通信之间的数据量,而数据也不失真!