[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>への変換の手法を示し、実用的な双方向変換の例も紹介しました。
これらの知識を活用して、文字列データの操作をより効率的に行うことができるでしょう。
今後は、実際のプログラムにこれらの変換を取り入れて、より柔軟なデータ処理を試みてみてください。