文字型

[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::stringbegin()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>への変換方法

stringvector<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>への変換の手法を示し、実用的な双方向変換の例も紹介しました。

これらの知識を活用して、文字列データの操作をより効率的に行うことができるでしょう。

今後は、実際のプログラムにこれらの変換を取り入れて、より柔軟なデータ処理を試みてみてください。

関連記事

Back to top button