C ++ có lớp String. Đó là điểm khác biệt so với dây C truyền thống. Chuỗi C thực sự là mảng ký tự. Trong C ++, lớp chuỗi có một vài thuộc tính khác nhau. Nó có các chức năng khác nhau, có thể được sử dụng để thực hiện các nhiệm vụ khác nhau. Ở đây, chúng ta sẽ thấy tính năng quan trọng của lớp String.
Trong phần đầu tiên, chúng ta sẽ xem các hàm tạo của lớp chuỗi hoạt động theo cách khác nhau như thế nào. Hãy để chúng tôi xem bằng ví dụ.
Ví dụ
#include<iostream> using namespace std; int main() { string str("This is a string"); cout << "String is: " << str << endl; string str2(str); // initialization by another string str cout << "String is: " << str2 << endl; string str3(5, 'A'); //initialize by a character cout << "String is: "<< str3 << endl; string str4(str, 5, 10); //initialize using another string from index 5 to index 10 cout << "String is: " << str4 << endl; string str5(str.begin(), str.begin() + 7); //initialize using str from first to index 7 cout << "String is: " << str5 << endl; }
Đầu ra
String is: This is a string String is: This is a string String is: AAAAA String is: is a strin String is: This is
Bây giờ chúng ta hãy thảo luận về một số toán tử của lớp String. Các toán tử cơ bản là Toán tử gán (=), Toán tử ghép (+), Toán tử chỉ mục ([]). Hãy để chúng tôi xem ví dụ về các toán tử này.
Ví dụ
#include<iostream> using namespace std; int main() { string str = "Hello "; string str2 = "World"; string str3, str4; str3 = str; //use assignment operator cout << "The value of str3: " << str3 << endl; str4 = str + str2; //concatenate two strings cout << "The value of str4: " << str4 << endl; cout << "Character at position 1 of str: " << str[1] << endl; }
Đầu ra
The value of str3: Hello The value of str4: Hello World Character at position 1 of str: e
Cuối cùng thiết lập chúng ta thấy một số hàm chuỗi. Các hàm này được sử dụng để thực hiện một số nhiệm vụ quan trọng liên quan đến chuỗi. Hãy để chúng tôi xem các chức năng đang hoạt động trong mã ví dụ
Ví dụ
#include<iostream> using namespace std; int main() { string str = "Hello"; cout << "String before clear: " << str << endl; str.clear(); //clean the string cout << "String after clear: " << str << endl; str = "This is a string:"; cout << "String length using length() and size() functions: " <<str.length() << " and " << str.size() << endl; cout << "Character at position 1 of str: " << str.at(1) << endl; cout << "First character of str: " << str.front() << endl; cout << "Last character of str: " << str.back() << endl; cout << "String to C like character array: " << str.c_str() << endl; cout << "String after appending text : " << str.append("ABCDEF") << endl; string str2 = "ANOTHER STRING"; cout << "String after appending text from str2 : " << str.append(str2,0, 5) << endl; //find function to find substring if (str.find("is") != string::npos) cout << "\"is\" is found in str at " << str.find("is") << " pos" <<endl; else cout << "substring not found in str" << endl; cout << "Substring of length 3 from index 5: " <<str.substr(5, 3) <<endl; cout << "String after erasing 4 characters from index 5: " <<str.erase(5, 4) << endl; cout << "Replace 7 characters from index 3: " <<str.replace(3, 7, "C++Programming"); }
Đầu ra
String before clear: Hello String after clear: String length using length() and size() functions: 17 and 17 Character at position 1 of str: h First character of str: T Last character of str: : String to C like character array: This is a string: String after appending text : This is a string:ABCDEF String after appending text from str2 : This is a string:ABCDEFANOTH "is" is found in str at 2 pos Substring of length 3 from index 5: is String after erasing 4 characters from index 5: This string:ABCDEFANOTH Replace 7 characters from index 3: ThiC++ Programmingng:ABCDEFANOTH