Hàm void *memcpy(void *str1, const void *str2, size_t n) sao chép n ký tự từ str2 tới str1.
Khai báo hàm memcpy() trong C
Dưới đây là phần khai báo cho memcpy() trong C:
void*memcpy(void*str1,constvoid*str2,size_t n)
Tham số
str1 — Đây là con trỏ tới mảng đích, nơi mà nội dung để được sao chép, ép kiểu thành một con trỏ của kiểu void*.
str2 — Đây là con trỏ tới nguồn dữ liệu để sao chép, ép kiểu thành một con trỏ của kiểu void*.
n — Đây là số byte để được sao chép.
Trả về giá trị
Hàm này trả về một con trỏ tới chuỗi đích, đó là str1.
Ví dụ
Chương trình C sau minh họa cách sử dụng của memcpy() trong C:
#include<stdio.h>#include<string.h>struct{char name[40];int age;} person, person_copy;int main (){char myname[]="Nguyen Hoang Nam";/* su dung ham memcpy de sao chep chuoi: */ memcpy ( person.name, myname, strlen(myname)+1); person.age =46;/* su dung ham memcpy de sao chep struct: */ memcpy (&person_copy,&person,sizeof(person)); printf ("person_copy = %s, %d n", person_copy.name, person_copy.age );return0;}
Biên dịch và chạy chương trình C trên sẽ cho kết quả:
Theo Tutorialspoint
Bài trước: Hàm memcmp() trong C
Bài tiếp: Hàm memmove trong C