Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

memcpy() trong C/C++


Bài viết thảo luận hoạt động, cú pháp và ví dụ của memcpy() trong C++ STL.

memcpy() là gì?

Hàm nội tại C++ STL, định nghĩa trong . Sao chép khối bộ nhớ (memory blocks). Sao chép số lượng giá trị từ vị trí bộ nhớ này sang vị trí khác.

Kết quả là bản sao nhị phân (binary copy) của dữ liệu. Hàm không kiểm tra ký tự kết thúc null, chỉ sao chép num byte từ nguồn.

Ví dụ

void memcpy(void* destination, void* source, size_t num);

Tham số

  • destination – con trỏ vị trí đích.
  • source – chuỗi nguồn.
  • num – số byte sao chép.

Giá trị trả về

Con trỏ đến destination nơi dữ liệu được sao chép.

Ví dụ

Đầu vào

char str_1[10] = "Tutorials"; char str_2[10] = "Point"; memcpy(str_1, str_2, sizeof(str_2));

Đầu ra

string str_1 before using memcpy Tutorials
string str_1 after using memcpy Point

Ví dụ

#include 
#include 
int main (){
    char str_1[10] = "Tutorials";
    char str_2[10] = "Point";
    puts("string str_1 before using memcpy ");
    puts(str_1);
    memcpy(str_1, str_2, sizeof(str_2));
    puts("\nstring str_1 after using memcpy ");
    puts(str_1);
    return 0;
}

Kết quả

string str_1 before using memcpy Tutorials
string str_1 after using memcpy Point

Ví dụ 2

#include 
#include 
int main (){
    char str_1[10] = "Tutorials";
    char str_2[10] = "Point";
    puts("string str_1 before using memcpy ");
    puts(str_1);
    memcpy(str_1, str_2, sizeof(str_2));
    puts("\nstring str_2 after using memcpy ");
    puts(str_2);
    return 0;
}

Kết quả

string str_1 before using memcpy Tutorials
string str_2 after using memcpy Point