std::array<char, N>
からstd::string
に変換する最良の方法は何ですか?
テンプレートメソッドを作成しようとしましたが、うまくいきませんでした。私のC++スキルは、まったく問題がないと思います。 C++でこれを行う慣用的な方法はありますか?
「最善の方法」とは言いませんが、方法はstd::string
の- イテレータコンストラクタ を使用することです。 =:
std::array<char, 10> arr;
... // fill in arr
std::string str(std::begin(arr), std::end(arr));
配列にnullで終了する文字列がある場合は、次のようにします。
std::array<char, 4> arr = {'a','b','c',0};
std::string str(arr.data());