Cách nối hai chuỗi trong C / C++
Trong bài viết này, codehow sẽ hướng dẫn các bạn cách nối hai chuỗi trong C / C++. Đây là bài tập căn bản giúp các bạn thao tác với chuỗi trong C / C++.
Để hiểu được chương trình, các bạn cần có kiến thức cơ bản về lập trình C và C++, đặc biệt là vòng lặp nhé.
Như thế nào được gọi là nối hai chuỗi với nhau? Đó là khi nội dung của chuỗi sau được nối liền sau chuỗi thứ nhất.
Ví dụ: mình có hai chuỗi "Hello" và chuỗi "codehow.net", khi nối hai chuỗi này lại thì sẽ như sau "Hellocodehow.net".
Vậy ngay bây giờ, hãy cùng codehow tìm hiểu cách nối hai chuỗi trong C / C++ thôi nào !!!
Cách nối hai chuỗi trong C / C++
Trong phần này, mình sẽ thực hiện chương trình nối hai chuỗi trong C / C++, Cụ thể như sau:
Bước 1: Khai báo hai mảng để chứa nội dung của hai chuỗi.
// khai báo hai mảng để chứa cá phần tử trong hai chuỗi char str1[50], str2[50], i, j;
Bước 2: Yêu cầu người dùng nhập vào hai chuỗi.
// yêu cầu người dùng nhập vào hai chuỗi printf("Nhập vào chuỗi thứ nhất: "); scanf("%s", &str1); printf("Nhập vào chuỗi thứ hai: "); scanf("%s", &str2);
Bước 3: Sử dụng vòng lặp for để nối hai chuỗi lại với nhau.
//chạy vòng lặp for để nối chuỗi for(i=0; str1[i]!='\0'; ++i); for(j=0; str2[j]!='\0'; ++j, ++i) { str1[i]=str2[j]; }
Bước 4: Hiển thị chuỗi sau khi nối ra màn hình.
// hiển thị kết quả ra màn hình printf("Kết quả là: %s",str1);
Dưới đây là hai chương trình mình đã viết sẵn bằng hai ngôn ngữ khác nhau là C và C++, các bạn có thể tham khảo nhé.
Chương trình C:
//khai báo thư viện stdio.h #include <stdio.h> int main(void) { // khai báo hai mảng để chứa cá phần tử trong hai chuỗi char str1[50], str2[50], i, j; // yêu cầu người dùng nhập vào hai chuỗi printf("Nhập vào chuỗi thứ nhất: "); scanf("%s", &str1); printf("Nhập vào chuỗi thứ hai: "); scanf("%s", &str2); //chạy vòng lặp for để nối chuỗi for(i=0; str1[i]!='\0'; ++i); for(j=0; str2[j]!='\0'; ++j, ++i) { str1[i]=str2[j]; } str1[i]='\0'; // hiển thị kết quả ra màn hình printf("Kết quả là: %s",str1); printf("\n------------------------------\n"); printf("Chương trình này được đăng tại codehow.net"); }
Kết quả:
Chương trình C++:
#include <iostream> #include <string.h> using namespace std; int main() { // khai báo hai mảng để chứa cá phần tử trong hai chuỗi char str1[50], str2[50], i, j; // yêu cầu người dùng nhập vào hai chuỗi cout<<"Nhập vào chuỗi thứ nhất: "; cin>>str1; cout<<"Nhập vào chuỗi thứ hai: "; cin>>str2; //chạy vòng lặp for để nối chuỗi for(i=0; str1[i]!='\0'; ++i); for(j=0; str2[j]!='\0'; ++j, ++i) { str1[i]=str2[j]; } str1[i]='\0'; // hiển thị kết quả ra màn hình cout<<"Kết quả là: "<<str1; cout<<"\n-------------------------------\n"; cout<<"Chương trình này được đăng tại codehow.net"; }
Kết quả:
Cách nối hai chuỗi trong C / C++ sử dụng hàm strcat()
Cũng với bài toán này, thay vì thực hiện theo cách thông thường là sử dụng vòng lặp để nối hai chuỗi. Chúng ta còn một cách khác nhau hơn và dễ hiểu hơn rất nhiều.
Bằng cách sử dụng hàm strcat()
trong C / C++. Chỉ cần khai báo thư viện string.h là chúng ta có thể sử dụng nó rồi đó.
Hãy cùng xem cách thực hiện nó thông qua hai chương trình được viết bằng ngôn ngữ C và C++ dưới đây nhé.
Chương trình C:
//khai báo thư viện stdio.h #include <stdio.h> int main(void) { // khai báo hai mảng để chứa cá phần tử trong hai chuỗi char str1[50], str2[50], i, j; // yêu cầu người dùng nhập vào hai chuỗi printf("Nhập vào chuỗi thứ nhất: "); scanf("%s", &str1); printf("Nhập vào chuỗi thứ hai: "); scanf("%s", &str2); //sử dụng hàm strcat() để nối hai chuỗi str1 và str2 // hiển thị kết quả ra màn hình printf("Kết quả là: %s",strcat(str1,str2)); printf("\n------------------------------\n"); printf("Chương trình này được đăng tại codehow.net"); }
Kết quả:
Chương trình C++:
#include <iostream> #include <string.h> using namespace std; int main() { // khai báo ba mảng để chứa cá phần tử trong hai chuỗi char str1[50], str2[50]; // yêu cầu người dùng nhập vào hai chuỗi cout<<"Nhập vào chuỗi thứ nhất: "; cin>>str1; cout<<"Nhập vào chuỗi thứ hai: "; cin>>str2; //sử dụng hàm strcat() để nối hai chuỗi str1 và str2 // hiển thị kết quả ra màn hình cout<<"Kết quả là: "<<strcat(str1,str2); cout<<"\n-------------------------------\n"; cout<<"Chương trình này được đăng tại codehow.net"; }
Kết quả:
Như vậy là chúng ta đã cùng nhau tìm hiểu về cách nối hai chuỗi trong C / C++. Có hai cách nối chuỗi đó là sử dụng vòng lặp for hoặc có thể sử dụng hàm strcat()
trong thư viện string.h nhé. Chúc các bạn thực hiện thành côn !!!!