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

Hàm strncpy() trong ngôn ngữ C là gì?

Hàm thư viện C char *strncpy(char *dest, const char *src, size_t n) sao chép tối đa n ký tự từ chuỗi nguồn src sang chuỗi đích dest. Nếu độ dài src nhỏ hơn n, phần còn lại của dest sẽ được đệm bằng byte null.

Mảng ký tự gọi là chuỗi.

Khai báo

Khai báo mảng:

char tenChuoi [kichThuoc];

Ví dụ: char string[50]; chuỗi 50 ký tự

Khởi tạo

  • Dùng hằng ký tự đơn:
char string[10] = { 'H', 'e', 'l', 'l', 'o' ,'\0'}
  • Dùng hằng chuỗi:
char string[10] = "Hello";

Truy xuất - Dùng "%s" để truy xuất chuỗi đến '\0'.

Hàm strncpy()

  • Dùng để sao chép n ký tự từ chuỗi nguồn sang chuỗi đích.
  • Độ dài chuỗi đích phải lớn hơn hoặc bằng chuỗi nguồn.

Cú pháp:

strncpy (chuoi_dich, chuoi_nguon, n);

Chương trình ví dụ

Chương trình C cho strncpy():

#include  int main(){     char a[50], b[50];     printf("Enter a string: ");     gets(a);     strncpy(b, a, 3);     b[3] = '\0';     printf("Copied string = %s", b);     return 0; }

Kết quả

Enter a string: Hello Copied string = Hel

Hàm strncpy() trong ngôn ngữ C là gì?

Cũng dùng để trích xuất chuỗi con (substring).

Ví dụ 1: Trích substring

char result[10], s1[15] = "Jan 10 2010"; strncpy(result, &s1[4], 2); result[2] = '\0';

Kết quả: Result = 10

Hàm strncpy() trong ngôn ngữ C là gì?

Ví dụ 2: Sao chép và nối

Chương trình C sao chép n ký tự từ nguồn sang đích dùng strncpy:

#include  #include  void main(){     char source[45], destination[50];     char destination1[10], destination2[10], destination3[10], destination4[10];     printf("Enter the source string: ");     gets(source);     strncpy(destination1, source, 2);     printf("The first destination value is: ");     destination1[2] = '\0';     puts(destination1);     strncpy(destination2, &source[8], 1);     printf("The second destination value is: ");     destination2[1] = '\0';     puts(destination2);     strncpy(destination3, &source[12], 1);     printf("The third destination value is: ");     destination3[1] = '\0';     puts(destination3);     strcat(destination1, destination2);     strcat(destination1, destination3);     printf("The modified destination string: ");     printf("%s3", destination1); }

Kết quả

Enter the source string: Tutorials Point The first destination value is: Tu The second destination value is: s The third destination value is: i The modified destination string: Tusi3