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~~~~

Cú pháp memcpy() trong thư viện 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ụ 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 );

  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 thư viện C chuẩn image 1

Viết câu trả lời

Drop Images

0 Bình luận