11
memcpy () vs memmove ()
ฉันพยายามที่จะเข้าใจความแตกต่างระหว่างmemcpy()และmemmove()และฉันได้อ่านข้อความที่memcpy()ไม่ดูแลแหล่งที่มาและปลายทางที่ทับซ้อนกันในขณะที่memmove()ทำ อย่างไรก็ตามเมื่อฉันรันทั้งสองฟังก์ชั่นนี้บนบล็อคหน่วยความจำที่ทับซ้อนกันทั้งคู่ก็ให้ผลลัพธ์เหมือนกัน ตัวอย่างเช่นใช้ตัวอย่าง MSDN ต่อไปนี้ในmemmove()หน้าวิธีใช้: - มีตัวอย่างที่ดีกว่าที่จะเข้าใจข้อเสียmemcpyและวิธีการmemmoveแก้ไขหรือไม่ // crt_memcpy.c // Illustrate overlapping copy: memmove always handles it correctly; memcpy may handle // it correctly. #include <memory.h> #include <string.h> #include <stdio.h> char str1[7] = "aabbcc"; int main( void ) { printf( "The string: %s\n", str1 ); memcpy( str1 + 2, str1, …