1. string là kiểu dữ liệu mới được định nghĩa sẵn trong C++, nó có nhiều ưu điểm vượt trội và giúp tránh được những phiền phức so với chuỗi kiểu char* của C.
2. Trong C++, bạn vẫn có thể dùng kiểu char* nếu muốn. Có thể chuyển từ kiểu stringsang chuỗi char* bằng phương thức
3. Cần khai báo
4. string có các phép +, += để nối chuỗi thay vì dùng hàm trong thư viện
5. Các hàm trong thư viện
6. Có thể so sánh trực tiếp 2 chuỗi string: ==, !=, >, >=, <, <=. Nguyên tắc so sánh giống hệt như khi dùng hàm
7. Dùng phương thức
Ví dụ:
8. Dùng phép gán ( = ) để gán trực tiếp biến string bằng một chuỗi hoặc một biến string khác mà không cần copy.
9. Biến kiểu string có thể xuất bằng cout<< và nhập đến khi gặp khoảng trắng bằngcin>>.
10. Dùng
Ví dụ:
11. string thực chất là một
12. Dùng phương thức
Ví dụ:
13. Dùng phương thức
14. Dùng phương thức
15. Có thể dùng phương thức
16. Dùng phương thức
17. Dùng phương thức
2. Trong C++, bạn vẫn có thể dùng kiểu char* nếu muốn. Có thể chuyển từ kiểu stringsang chuỗi char* bằng phương thức
c_str()3. Cần khai báo
#include<string> để có thể sử dụng đầy đủ tiện ích của string.4. string có các phép +, += để nối chuỗi thay vì dùng hàm trong thư viện
string.h như kiểu char*5. Các hàm trong thư viện
string.h (strlen, strcmp, strlwr,... ) sẽ không sử dụng được với string.6. Có thể so sánh trực tiếp 2 chuỗi string: ==, !=, >, >=, <, <=. Nguyên tắc so sánh giống hệt như khi dùng hàm
strcmp().7. Dùng phương thức
length() để lấy độ dài chuỗi, dùng phép lấy chỉ số [] để lấy từng phần tử của chuỗi.Ví dụ:
1 2 3 | string a = "ABCDE";cout<< a.length();cout<< a[2]; |
9. Biến kiểu string có thể xuất bằng cout<< và nhập đến khi gặp khoảng trắng bằngcin>>.
10. Dùng
getline(cin, <tên biến chuỗi>) để nhập chuỗi có khoảng trắng.Ví dụ:
1 2 3 | string a;getline(cin, a);cout << a; |
11. string thực chất là một
vector<char> có bổ sung thêm một số phương thức và thuộc tính. Do đó, nó có toàn bộ tính chất của một vector.12. Dùng phương thức
substr(<vị trí>, <số ký tự>) để lấy chuỗi con.Ví dụ:
1 2 3 | string a = "ABCDEF";cout << a.substr(1, 3);//Kết quả: BCD |
13. Dùng phương thức
insert() để chèn một chuỗi vào giữa chuỗi khác. Có rất nhiều cách để làm điều này:1 2 3 | str.insert(int pos, char * s); //chèn chuỗi kiểu char* vào vị trí posstr.insert(int pos, string s); //chèn chuỗi s vào vị trí posstr.insert(int pos, int n, char ch); //chèn n lần ch vào vị trí pos |
14. Dùng phương thức
erase() để xóa một phần chuỗi.1 2 | str.erase(int pos, int n); //xóa n ký tự từ vị trí posstr.erase(int pos); //xóa từ vị trí pos đến cuối chuỗi |
15. Có thể dùng phương thức
compare() để so sánh 2 chuỗi nếu không muốn dùng các toán tử quan hệ.1 2 3 4 5 6 | int compare(const string& str) const;int compare(const char* s) const;int compare(size_t pos1, size_t n1, const string& str) const;int compare(size_t pos1, size_t n1, const char* s) const;int compare(size_t pos1, size_t n1, const string& str, size_t pos2, size_t n2) const;int compare(size_t pos1, size_t n1, const char* s, size_t n2) const; |
16. Dùng phương thức
find() để tìm một chuỗi khác xuất hiện trong chuỗi. Trả về vị trí xuất hiện đầu tiên nếu tìm thấy và -1 nếu không tìm thấy. 1 2 3 | str.find(int ch, int pos = 0); //tìm ký tự ch kể từ pos đến cuốistr.find(char *s, int pos = 0); //tìm chuỗi kiểu char* từ pos đến cuốistr.find(string& s, int pos = 0); //tìm chuỗi s kể từ pos đến cuối |
17. Dùng phương thức
replace() để thay thế một đoạn con trong chuỗi ban đầu.1 2 3 | str.replace(int pos, int nchar, char *s);str.replace(int pos, int nchar, string s);str.replace(int pos, int nchar, int n, int ch); |
Nhận xét
Đăng nhận xét