memcpy(amp;排序簿【j】,ampbook【I】,sizeof(struct book);
您需要# include
功能原型
void * memcpy(void * dest,const void *src,size _ t n);
功能
將src指向的地址為起始地址的連續n字節數據復制到destin指向的地址為起始地址的空間中。
頭文件
# include & ltstring.h & gt
返回值
函數返回壹個指向目標的指針。
解釋
由1.source和destin指示的內存區域不能重疊,該函數返回壹個指向destin的指針。
2.與strcpy相比,memcpy在遇到“\0”時不會結束,但它肯定會完成n個字節的復制。
Memcpy用於內存復制,您可以使用它復制任何數據類型的對象,並且可以指定副本的數據長度;
示例:
char a【100】,b【50】;
memcpy(b,a,sizeof(b));//註意,如果使用sizeof(a),B的內存地址將溢出。
Strcpy只能復制字符串,當遇到“\0”時它將結束復制;示例:
char a【100】,b【50】;
strcpy(a,b);
3.如果目標數組destin本身已經有數據,在執行memcpy()後,原始數據將被覆蓋(最多n個)。如果要追加數據,應該在每次執行memcpy後將目標數組地址增加到要追加數據的地址。
//註意,source和destin都不壹定是數組,可以使用任何可讀和可寫的空間。