Đề 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