Computer >> Máy Tính >  >> Lập trình >> C ++

Lớp chuỗi C ++ và các ứng dụng của nó?

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