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 👨 4.979
0 Bình luận
Sắp xếp theo
    ❖ Lập trình C