Day 14では、C++における文字列操作について学習します。
C++では標準ライブラリである`<string>`を使用して、文字列を操作することができます。
以下に文字列操作の主な内容と、例題、演習問題を提示します。
文字列操作の主な内容:
1. 文字列の作成:
– C++では、`std::string`クラスを使用して文字列を作成します。このクラスは可変長の文字列を扱うことができます。
2. 文字列の結合:
– `+`演算子を使用して2つの文字列を結合できます。
– `+=`演算子を使用して既存の文字列に別の文字列を追加することもできます。
3. 文字列の長さの取得:
– `size()`メソッドや`length()`メソッドを使用して、文字列の長さ(文字数)を取得できます。
4. 文字列の比較:
– `==`演算子や`!=`演算子を使用して、2つの文字列を比較できます。
5. サブストリングの取得:
– `substr()`メソッドを使用して、指定した位置から特定の文字数のサブストリングを取得できます。
6. 文字列の検索:
– `find()`メソッドを使用して、指定した文字列や文字の位置を検索できます。
例題:
#include <iostream> #include <string> int main() { std::string str1 = "Hello"; std::string str2 = "World"; // 文字列の結合 std::string result = str1 + " " + str2; std::cout << "Result: " << result << std::endl; // 文字列の長さの取得 std::cout << "Length of result: " << result.size() << std::endl; // 文字列の比較 if (str1 == str2) { std::cout << "str1 and str2 are equal." << std::endl; } else { std::cout << "str1 and str2 are not equal." << std::endl; } // サブストリングの取得 std::string sub = result.substr(0, 5); std::cout << "Substring: " << sub << std::endl; // 文字列の検索 size_t pos = result.find("World"); if (pos != std::string::npos) { std::cout << "Found at position: " << pos << std::endl; } else { std::cout << "Not found." << std::endl; } return 0; }
演習問題:
1. ユーザーに文字列を入力してもらい、その文字列を逆順にして表示するプログラムを作成してください。必要な文字列操作の関数を使用してください。
2. ユーザーに2つの文字列を入力してもらい、それらの文字列を辞書順に並べ替えて表示するプログラムを作成してください。必要な文字列操作の関数を使用してください。
これらの例題と演習問題を解くことで、C++における文字列操作の使い方を理解し、文字列を効果的に操作するスキルを向上させることができます。問題を解いたら、プログラムが正しく動作しているかどうかを確認してみてください。