Thêm chèn nối string trong C++ | Laptrinhcanban.com

Thêm chèn nối string trong C++

Hướng dẫn cách thêm chèn nối string trong C++. Bạn sẽ học được cách thêm và chèn 1 ký tự hoặc một chuỗi ký tự vào string, cũng như cách nối string trong C++ sau bài học này.

Chúng ta có 3 phương pháp để thêm hoặc chèn string trong C++ như sau:

  • Hàm push_back :
  • Toán tử +=:
  • Hàm insert:

Và chúng ta sẽ dùng toán tử + để nối string trong C++.

Nối string trong C++

Để nối string trong C++ chúng ta sử dụng toán tử + với cú pháp sau đây:

str = str1 + str2 + str3 + ...;

Trong đó str là string kết quả của phép nối các string str1, str2, str3… thông qua toán tử cộng +.

Ví dụ cụ thể, chúng ta nối 2 string trong C++ như sau:

#include <iostream>
#include <string>
using namespace std;

int main ()
{
string str;
string str1= "Hello";
string str2= "\t";
string str3= "Vietnam";

str = str1 + str2 + str3;
cout << str;
return 0;
}

Kết quả:

Hello   Vietnam

Thêm ký tự vào cuối tring C++ bằng hàm push_back

Hàm push_back là một hàm thành viên trong class std:string, có tác dụng thêm một ký tự vào vị trí cuối cùng trong string cũng như tăng độ dài của nó thêm một đơn vị.

Cú pháp sử dụng hàm push_back để xóa ký tự cuối cùng trong string như sau:

str.push_back(chr);

Trong đó str là tên string cần thêm ký tự chr vào vị trí cuối cùng. Lưu ý cần chỉ định chr là 1 ký tự thuộc kiểu char.

Hàm push_back thuộc kiểu void, do đó nó sẽ không trả giá trị. Bởi vậy nó sẽ thêm ký tự vào vị trí cuối cùng trong string chứ không trả về chuỗi kết quả.

Ví dụ cụ thể:

#include <iostream>
#include <string>
using namespace std;

int main ()
{
string str ("Hello world");
str.push_back('a');
cout << str;
return 0;
}
//> Hello worlda

Có thể thấy ký tự 'a' dã được thêm vào vị trí cuối cùng trong chuỗi ban đầu.

Thêm một hoặc một chuỗi ký tự vào cuối tring C++ bằng toán tử gán

Chúng ta cũng có thể sử dụng toán tử gán += để thêm 1 ký tự hoặc một chuỗi ký tự vào string ban đầu trong C với cú pháp sau đây:

str += str1;

Trong đó str1 là một hoặc một chuỗi ký tự cần thêm vào cuối string str.

Ví du cụ thể:

#include <iostream>
#include <string>
using namespace std;

int main ()
{
string str ("abcd");
str += "e"; //Thêm ký tự a vào cuối string
cout << str <<endl;

str += "gkh";//Thêm chuỗi gkh vào cuối string
cout << str;
return 0;
}

Kết quả:

abcde
abcdegkh

Chèn 1 ký tự vào vị trí chỉ định trong string C++ bằng hàm insert

Để chèn ký tự vào vị trí chỉ định trong string C++, chúng ta sử dụng hàm insert với cú pháp sau đây:

str.insert(p, chr);

Trong đó str là string ban đầu, chr là ký tự cần chèn, và p là trình lặp trỏ đến vị trí cần chèn trong string.

Ở đây trình lặp (iterator) là một vòng lặp có tác dụng giống như con trỏ, giúp truy cập đến các ký tự ở vị trí cụ thể trong string.

Trong trường hợp cần chỉ đến vị trí index thứ n trong string, chúng ta sẽ viết trình lặp p như sau:

str.begin() + i

Trong đó str.begin() chỉ đến vị trí đầu tiên trong string, và i là index của vị trí ký tự cần chỉ đến.

Kết hợp lại thì công thức để chèn 1 ký tự vào vị trí chỉ định trong string C++ bằng hàm insert sẽ như sau:

str.insert(str.begin() + i, chr);

Ví dụ cụ thể:

#include <iostream>
#include <string>
using namespace std;

int main ()
{
string str ("abcd");
str.insert(str.begin()+2, 'g'); //Thêm ký tự 'g' vào vị trí thứ 2
cout << str <<endl;

str.insert(str.begin()+4, 'H'); //Thêm ký tự 'H' vào vị trí thứ 4
cout << str;
return 0;
}

Kết quả:

abgcd
abgcHd

Chèn 1 chuỗi ký tự vào vị trí chỉ định trong string C++ bằng hàm insert

Để chèn 1 chuỗi ký tự vào vị trí chỉ định trong string C++, chúng ta sử dụng hàm insert với cú pháp sau đây:

str.insert(position, str1);

Trong đó str là string ban đầu, str1 là string cần chèn vào str, và position là vị trí cần chèn vào string str.

Ví dụ cụ thể:

#include <iostream>
#include <string>
using namespace std;

int main ()
{
string str("abcd");
string str2("123");
string str3("FG");

str.insert(2, str2); //Thêm str2 vào vị trí thứ 2
cout << str <<endl;

str.insert(4, str3); //Thêm str3 vào vị trí thứ 4
cout << str;
return 0;
}

Kết quả:

ab123cd
ab12FG3cd

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách ** trong C++** rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về C++ trong các bài học tiếp theo.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.