HiroLab

プログラミングに関する情報発信サイト。

C++

【C++】Day 14:C++における文字列操作

投稿日:

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++における文字列操作の使い方を理解し、文字列を効果的に操作するスキルを向上させることができます。問題を解いたら、プログラムが正しく動作しているかどうかを確認してみてください。

-C++
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【C++】Day 7:ユーザー定義関数とライブラリ関数について

Day 7では、ユーザー定義関数とライブラリ関数について学習します。 以下にそれぞれの内容を詳細に説明し、例題と演習問題を提示します。   ユーザー定義関数: – ユーザー定義関 …

【C++】Day 24:デバッグとテスト

Day 24では、デバッグとテストについて学習します。 プログラムを書く際には、バグを見つけて修正するデバッグや、プログラムが正しく動作することを確認するテストが重要です。 以下にデバッグとテストに関 …

【C++】Day 13:メモリ管理とスマートポインタ

Day 13では、メモリ管理とスマートポインタについて学習します。 C++では、メモリの確保と解放を適切に行うことが重要です。スマートポインタは、メモリの自動管理を行う便利な機能です。 以下にそれぞれ …

【C++】Day 30:C++の応用と展望

Day 30では、「C++の応用と展望」について学習します。 C++は非常にパワフルで柔軟なプログラミング言語であり、さまざまな応用分野で使用されています。この日は、C++の応用領域や将来の展望につい …

【C++】Day 9:クラスとオブジェクト

Day 9では、クラスとオブジェクトについて学習します。 以下にそれぞれの内容を詳細に説明し、例題と演習問題を提示します。   クラスとオブジェクトの内容:   1. クラス: & …