C ทำงานห้องสมุด - memmove ()
ลักษณะ
Cทำงานห้องสมุดโมฆะ * memmove (void * str1, โมฆะ const * str2, size_t n) สำเนา nตัวละครจากstr2str1 ไปแต่ที่ทับซ้อนกันบล็อกหน่วยความจำในเรื่องนี้memmove (กว่า) memcpy () วิธีการที่ปลอดภัยมากขึ้น หากพื้นที่เป้าหมายและพื้นที่ทับซ้อนแหล่งที่มาแล้ว memmove () เพื่อให้แน่ใจว่าสตริงแหล่งที่มาก่อนที่มันจะถูกปกคลุมด้วยภูมิภาคไบต์ที่ทับซ้อนกันคัดลอกไปยังพื้นที่เป้าหมายเนื้อหาของพื้นที่แหล่งที่มาคัดลอกจะมีการเปลี่ยนแปลง หากพื้นที่เป้าหมายและพื้นที่แหล่งที่ไม่ทับซ้อนและ memcpy ฟังก์ชัน () เป็นฟังก์ชั่นเดียวกัน
คำแถลง
นี่คือ memmove () ฟังก์ชั่นของการประกาศ
void *memmove(void *str1, const void *str2, size_t n)
พารามิเตอร์
- str1 - จุดไปยังอาร์เรย์ปลายทางสำหรับการจัดเก็บเนื้อหาที่คัดลอกพิมพ์หล่อจะถือเป็นโมฆะชี้ *
- str2 - ชี้ไปคัดลอกแหล่งข้อมูลประเภทหล่อจะถือเป็นโมฆะชี้ *
- n - จำนวนไบต์ที่จะคัดลอก
ราคาย้อนกลับ
ฟังก์ชั่นนี้กลับชี้ไปชี้ str1 เก็บปลายทาง
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงให้เห็นถึง memmove ฟังก์ชัน () ถูกนำมาใช้
#include <stdio.h> #include <string.h> int main () { const char dest[] = "oldstring"; const char src[] = "newstring"; printf("Before memmove dest = %s, src = %s\n", dest, src); memmove(dest, src, 9); printf("After memmove dest = %s, src = %s\n", dest, src); return(0); }
Let 's รวบรวมและเรียกใช้โปรแกรมข้างต้นซึ่งจะส่งผลต่อไปนี้:
Before memmove dest = oldstring, src = newstring After memmove dest = newstring, src = newstring