Hàm memcpy() trong C (chi tiết nhất)




Hàm memcpy() trong C

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, const void *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 
#include 
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 );  return 0;
}

Biên dịch và chạy chương trình C trên sẽ cho kết quả:

Hàm memcpy trong C

Các bài Thư viện C phổ biến khác tại VietJack:


string-h-trong-c.jsp