Chuyển đến nội dung chính

Bài 9. Chuỗi ký tự trong C++ (string)

 

Khái niệm

Giống như Xâu ký tự string là một mảng chứa các ký tự nhưng khác với char string có thể tự mở rộng bộ nhớ khi cần.

Khai báo

Cách khai báo khá đơn giản:

string ten_chuoi;
hoặc
string ten_chuoi = "Chuoi";
Ví dụ:


#include <bits/stdc++.h>
using namespace std;
int main() {
    string name;
    string name2 = "Hello NT-CODER";
    cout << name2 << endl;
}


Kết quả:


Gán chuỗi:

chuoibandau = "chuoi_gan";
hoặc
chuoibandau = chuoi2;

Nối chuỗi:

Chuoi1 = Chuoi1 + Chuoi2;

Một số hàm xử lý chuỗi

length()

Trả về độ dài của chuỗi
#include <bits/stdc++.h>
using namespace std;
int main() {
    string s1 = "NT-CODER";
    cout << s1.length();
    system("pause");
}
Kết quả: 8

substr(x, y)

Trích một chuỗi con với chiều dài y bắt đầu tại vị trí x. Nếu không có y, một chuỗi con từ vị trí x tới cuối chuỗi sẽ được rút trích.
#include <bits/stdc++.h>
using namespace std;
int main() {
    string s1 = "NT-CODER";
    cout << s1.substr(2, 2);
    system("pause");
}
Kết quả: -C

find(a)

Kiểm tra chuỗi string a có xuất hiện trong chuỗi s hay không. 
Nếu có thì trả về vị trí bắt đầu xuất hiện chuỗi r trong chuỗi s.
#include <bits/stdc++.h>
using namespace std;
int main() {
    string s1 = "NT-CODER";
    cout << s1.find("NT");
    system("pause");
}
Kết quả: 0
Nếu ko tìm đc sẽ trả về số lớn hơn độ dài chuỗi s1

erase(x, n)

Xóa n ký tự bắt đầu tại vị trí x.
#include <bits/stdc++.h>
using namespace std;
int main() {
    string s1 = "NT-CODER";
    cout << s1.erase(2, 3);
    system("pause");
}
Kết quả: NTDER

replace(x, n, str)

Thay thế n ký tự tại vị trí bắt đầu là x bằng chuỗi str.
#include <bits/stdc++.h>
using namespace std;
int main() {
    string s1 = "NT-CODER";
    cout << s1.replace(2, 5, "[rep]");
    system("pause");
}
Kết quả: NT[rep]R

compare(s2)

So sánh chuỗi s1 với s2. Giá trị trả về là -1 nếu s1 < s2, bằng 0 nếu s1 == s2, là 1 nếu s1 > s2
#include <bits/stdc++.h>
using namespace std;
int main() {
    string s1 = "NT-CODER";
    string s2 = "NT-CODER2";
    cout << s1.compare(s2);
    system("pause");
}
Kết quả: -1

swap(s2)

Hoán đổi nội dung hai chuỗi.
#include <bits/stdc++.h>
using namespace std;
int main() {
    string s1 = "NT-CODER";
    string s2 = "NT-CODER2";
    swap(s1, s2);
    cout << s1;
    system("pause");
}
Kết quả: NT-CODER2

insert(ind, s2)

Thêm chuỗi s2 vào s1 sau vị trí index.
#include <bits/stdc++.h>
using namespace std;
int main() {
    string s1 = "NT-CODER";
    string s2 = "NT-CODER2";
    cout << s1.insert(3, s2);
    system("pause");
}
Kết quả: NT-NT-CODER2CODER

Qua bài viết hôm nay, chắc hẳn bạn cũng đã hiểu về chuỗi ký tự trong C++, hãy tiếp tục những bài tiếp theo nhé.

Nhận xét

Bài đăng phổ biến từ blog này

Cài đặt C++ trên Sublime Text

Sublime Text  là một phần mềm soạn thảo code đang được rất nhiều nhà lập trình viên sử dụng bởi các tính năng cũng như hiệu năng mà nó mang lại. Không những nó vừa nhẹ, vừa gọn, vừa nhanh mà nó còn hỗ trợ rất nhiệu như plugins, snippets, code auto complete, highlight beautiful, tùy biến giao diện, phím tắt, và rất nhiều thứ khác nữa. Link tải Sublime Text:   Sublime Text - Text Editing, Done Right Link tải MinGW:   MinGW - Minimalist GNU for Windows - Browse /Installer at SourceForge.net Cài g++ và gdb: Bước 1 : Chọn mingw32-gcc-g++ ở mục Basic Setup Chọn mingw32-gdb ở mục All Packges. Bước 2 : Bấm Installation  chọn Update Catalogue và chọn Review Changes chọn Apply  đợi quá trình cài đặt. Bước 3 : Tìm đến thư mục C:\MinGW\bin  và copy link. Bước 4 : Phải chuột bảng chọn Start chọn Hệ Thống sau đó chọn vào Thiết lập hệ thống chuyên sâu Bước 5 : Chọn Environment Variables... Bước 6 : Ở phần Path bấm và chọn edit . Bước 7 : Nhấn chọn New và dán link v...

Bài 5. Câu lệnh điều kiện trong C++ (if, switch)

  Để việc lập trình hiệu quả hơn hầu hết các Ngôn ngữ lập trình bậc cao đều có các câu lệnh rẽ nhánh và các câu lệnh lặp cho phép thực hiện các câu lệnh của chương trình không theo trình tự tuần tự như trong văn bản. Trong bài này, chúng ta sẽ tìm hiểu về những câu lệnh rẽ nhánh trong C++. Câu lệnh điều kiện if, if...else... Cú pháp: if (dieu_kien) {     khoi_lenh; } hoặc if (dieu_kien) {     khoi_lenh1; }  else {     khoi_lenh2; } hoặc if (dieu_kien) {     khoi_lenh1; }  else if (dieu_kien2) {     khoi_lenh2; } else {     khoi_lenh3; } Trong cú pháp trên if có 2 dạng: Có else. Không có else. dieu_kien là biểu thức logic có giá trị là true (khác 0) hoặc false (bằng 0). Khi chạy chương chình, dieu_kien sẽ được tính, nếu đúng, khoi_lenh1 sẽ được thực hiện . Ngược lại sẽ tiếp tục xét dieu_kien2 , nếu đúng sẽ thực hiện khoi_lenh2 . Ngược lại sẽ thực hiện khoi_lenh3. Ví dụ: # include < bits/stdc++.h >...

Bài 1. Giới Thiệu về ngôn ngữ lập trình C++

C++   là một loại ngôn ngữ lập trình bậc trung (middle-level). Đây là ngôn ngữ lập trình đa năng được tạo ra bởi  Bjarne Stroustrup  như một phần mở rộng của ngôn ngữ lập trình C, hoặc "C với các lớp Class",  Ngôn ngữ đã được mở rộng đáng kể theo thời gian và C ++ hiện đại có các tính năng:  Lập trình tổng quát. Lập trình hướng đối tượng. Lập trình thủ tục. Ngôn ngữ đa mẫu hình tự do có kiểu tĩnh.   D ữ liệu trừu tượng. Lập trình đa hình. Ngoài ra còn có thêm các tính năng, công cụ để thao tác với bộ nhớ cấp thấp . Từ thập niên 1990, C++ đã trở thành một trong những ngôn ngữ thương mại ưa thích và phổ biến của lập trình viên. Bjarne Stroustrup và logo ngôn ngữ C/C++ C++ được thiết kế hướng tới lập trình hệ thống máy tính và phần mềm nhúng trên các mạch vi xử lý, bao gồm cả hệ thống có tài nguyên hạn chế và tài nguyên khổng lồ , với ưu điểm vượt trội về hiệu s uất , hiệu quả và tính linh hoạt cao. Các phiên bản C++: Sau đây là bảng về độ thông dụng của...