04/09/2018, 09:30

Hàm strncpy() trong C

Hàm char *strncpy(char *dest, const char *src, size_t n) copies up to n sao chép tới n ký tự từ chuỗi được trỏ tới bởi src tới dest. Trong trường hợp độ dài của src là nhỏ hơn n, thì phần dư hay phần còn lại của dest sẽ được điền bởi các giá trị null. Khai báo ...

Hàm char *strncpy(char *dest, const char *src, size_t n) copies up to n sao chép tới n ký tự từ chuỗi được trỏ tới bởi src tới dest. Trong trường hợp độ dài của src là nhỏ hơn n, thì phần dư hay phần còn lại của dest sẽ được điền bởi các giá trị null.

Khai báo hàm strncpy() trong C

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

char *strncpy(char *dest, const char *src, size_t n)

Tham số

dest -- Đây là con trỏ trỏ tới mảng đích, nơi nội dung được sao chép.

src -- Chuỗi được sao chép.

n -- Số ký tôi để được sao chép từ src.

Trả về giá trị

Hàm này trả về bản sao cuối cùng của chuỗi được sao chép.

Ví dụ

Chương trình C sau minh họa cách sử dụng của strncpy() function. Ở đây chúng ta đã sử dụng hàm memset() để xóa vị trí bộ nhớ.

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

int main()
{
   char src[40];
   char dest[12];
  
   memset(dest, '', sizeof(dest));
   strcpy(src, "Hoc C co ban va nang cao tai QTM !!!");
   strncpy(dest, src, 10);

   printf("Sau khi thuc hien ham strncpy, chuoi dest co dang: 
%s
", dest);
   
   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 strcpy() trong C 

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

0