[C++] vector charとstringを相互に変換する方法
C++でstd::vector<char>
とstd::string
を相互に変換する方法は以下の通りです。
std::vector<char>
からstd::string
への変換は、std::string
のコンストラクタを使用します。
一方、std::string
からstd::vector<char>
への変換は、std::vector
のコンストラクタにstd::string
のbegin()
とend()
を渡します。
どちらも簡潔に実現可能です。
vector<char>からstringへの変換方法
C++では、vector<char>
をstring
に変換するのは非常に簡単です。
string
クラスのコンストラクタを利用することで、vector<char>
の内容を直接string
に変換できます。
以下にその方法を示します。
#include <iostream>
#include <vector>
#include <string>
int main() {
// vector<char>の初期化
std::vector<char> charVector = {'あ', 'い', 'う', 'え', 'お'};
// vector<char>からstringへの変換
std::string str(charVector.begin(), charVector.end());
// 結果の出力
std::cout << "vector<char>から変換したstring: " << str << std::endl;
return 0;
}
vector<char>から変換したstring: あいうえお
このコードでは、vector<char>
のイテレータを使って、string
のコンストラクタに渡しています。
これにより、vector<char>
の全ての要素がstring
に変換されます。
stringからvector<char>への変換方法
string
をvector<char>
に変換するのも非常に簡単です。
string
のメンバ関数を利用して、各文字をvector<char>
に追加することができます。
以下にその方法を示します。
#include <iostream>
#include <vector>
#include <string>
int main() {
// stringの初期化
std::string str = "こんにちは";
// stringからvector<char>への変換
std::vector<char> charVector(str.begin(), str.end());
// 結果の出力
std::cout << "stringから変換したvector<char>: ";
for (char c : charVector) {
std::cout << c;
}
std::cout << std::endl;
return 0;
}
stringから変換したvector<char>: こんにちは
このコードでは、string
のイテレータを使って、vector<char>
のコンストラクタに渡しています。
これにより、string
の全ての文字がvector<char>
に変換されます。
双方向変換の実用例
vector<char>
とstring
の双方向変換は、文字列データの操作や処理において非常に便利です。
以下に、実用的な例として、ユーザーからの入力を受け取り、それをvector<char>
に変換し、再度string
に戻して表示するプログラムを示します。
#include <iostream>
#include <vector>
#include <string>
int main() {
// ユーザーからの入力を受け取る
std::cout << "文字列を入力してください: ";
std::string input;
std::getline(std::cin, input);
// stringからvector<char>への変換
std::vector<char> charVector(input.begin(), input.end());
// vector<char>からstringへの変換
std::string outputString(charVector.begin(), charVector.end());
// 結果の出力
std::cout << "入力した文字列: " << outputString << std::endl;
return 0;
}
文字列を入力してください: こんにちは
入力した文字列: こんにちは
このプログラムでは、ユーザーが入力した文字列をstring
として受け取り、それをvector<char>
に変換しています。
その後、再びvector<char>
からstring
に変換し、最終的に入力した内容を表示します。
このように、双方向変換を利用することで、データの操作が柔軟に行えます。
まとめ
この記事では、vector<char>
とstring
の相互変換方法について詳しく解説しました。
具体的には、vector<char>
からstring
への変換や、逆にstring
からvector<char>
への変換の手法を示し、実用的な双方向変換の例も紹介しました。
これらの知識を活用して、文字列データの操作をより効率的に行うことができるでしょう。
今後は、実際のプログラムにこれらの変換を取り入れて、より柔軟なデータ処理を試みてみてください。