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

Nối n ký tự từ chuỗi nguồn vào chuỗi đích trong C


Đề bài

Viết chương trình C nối n ký tự từ chuỗi nguồn vào chuỗi đích dùng hàm thư viện strncat.

Giải pháp

Hàm strcat()

  • Nối 2 chuỗi hoàn chỉnh.
  • Độ dài chuỗi đích phải lớn hơn chuỗi nguồn.
  • Kết quả lưu trong chuỗi đích.

Cú pháp: strcat(dest, src);

Ví dụ strcat()

#include <string.h>
int main() {
    char a[50] = "Hello";
    char b[20] = "Good Morning";
    strcat(a, b);
    printf("Chuỗi nối: %s\n", a);  // HelloGood Morning
    return 0;
}

Hàm strncat()

  • Nối n ký tự đầu của chuỗi nguồn vào chuỗi đích.
  • Độ dài chuỗi đích phải đủ lớn.
  • Kết quả lưu trong chuỗi đích.

Cú pháp: strncat(dest, src, n);

Ví dụ strncat()

#include <string.h>
int main() {
    char a[30] = "Hello";
    char b[20] = "Good Morning";
    strncat(a, b, 4);  // Nối 4 ký tự đầu "Good"
    a[9] = '\0';       // Kết thúc chuỗi
    printf("Chuỗi nối: %s\n", a);  // Hello Good
    return 0;
}

Ví dụ nâng cao

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

void main() {
    char source[45], destination[50];
    
    printf("Nhập chuỗi nguồn: ");
    gets(source);
    printf("Nhập chuỗi đích trước: ");
    gets(destination);
    
    destination[2] = '\0';           // Giữ 2 ký tự đầu "C "
    strncat(destination, source, 2); // Nối 2 ký tự "Tu"
    strncat(destination, &source[4], 1); // Nối 1 ký tự tại vị trí 4 "r"
    
    printf("Chuỗi đích sau khi sửa: ");
    puts(destination);  // C Tur
}

Kết quả ví dụ nâng cao

Nhập chuỗi nguồn: TutorialPoint
Nhập chuỗi đích trước: C Programming
Chuỗi đích sau khi sửa: C Tur