Hàm memmove trong C

Hàm void *memmove(void *str1, const void *str2, size_t n) Sao chép n ký tự từ str2 sang str1, nhưng để giải quyết việc trùng khớp các khối bộ nhớ, thì memmove() là một hướng tiếp cận an toàn hơn hàm memcpy().

Khai báo hàm memmove trong C

Dưới đây là phần khai báo cho memmove() trong C:

void *memmove(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 memmove() trong C:

#include <stdio.h>
#include <string.h>

int main ()
{
  char str[] = "Vi du ham memmove trong C";
  memmove (str+20,str+15,11);
  puts (str);
  return 0;
}

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

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 memcpy() trong C

Bài tiếp: Hàm memset() trong C

Chủ Nhật, 02/09/2018 09:03
52 👨 5.217
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
❖
    ❖ Lập trình C
    Chia sẻ
    Chia sẻ FacebookChia sẻ Twitter
    Đóng