C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++文字列クラスとそのアプリケーション?


C++にはStringクラスがあります。これは、従来のC文字列とは異なります。 C文字列は実際には文字配列です。 C ++では、文字列クラスにはいくつかの異なるプロパティがあります。さまざまな機能があり、さまざまなタスクを実行するために使用できます。ここでは、Stringクラスの重要な機能を確認します。

最初のセクションでは、文字列クラスのコンストラクターがさまざまな方法でどのように機能するかを確認します。例を見てみましょう。

#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;
}

出力

String is: This is a string
String is: This is a string
String is: AAAAA
String is: is a strin
String is: This is

次に、Stringクラスのいくつかの演算子について説明します。基本的な演算子は、代入演算子(=)、連結演算子(+)、インデックス演算子([])です。これらの演算子の例を見てみましょう。

#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;
}

出力

The value of str3: Hello
The value of str4: Hello World
Character at position 1 of str: e

最後に、いくつかの文字列関数を表示するように設定します。これらの関数は、文字列に関連するいくつかの重要なタスクを実行するために使用されます。サンプルコードで実際の関数を見てみましょう

#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");
}

出力

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

  1. C++でのフレンドクラスと関数

    クラスのフレンド関数はそのクラスのスコープ外で定義されていますが、クラスのすべてのプライベートメンバーと保護されたメンバーにアクセスする権利があります。フレンド関数のプロトタイプはクラス定義に表示されますが、フレンドはメンバー関数ではありません。 フレンドは、関数、関数テンプレート、メンバー関数、またはクラスまたはクラステンプレートにすることができます。この場合、クラス全体とそのすべてのメンバーがフレンドになります。 関数をクラスのフレンドとして宣言するには、次のように、クラス定義の関数プロトタイプの前にキーワードfriendを付けます- class Box { double width;

  2. C#の正規表現クラスとそのクラスメソッドとは何ですか?

    Regexクラスは、正規表現を表すために使用されます。正規表現は、入力テキストと照合できるパターンです。 以下は、正規表現クラスのメソッドです- Sr.No メソッドと説明 1 public bool IsMatch(string input) Regexコンストラクターで指定された正規表現が、指定された入力文字列で一致を見つけるかどうかを示します。 2 public bool IsMatch(string input、int開始) Regexコンストラクターで指定された正規表現が、文字列内の指定された開始位置から開始して、指定された入力文字列内