文字列の終端にNULL以外の終了ベクトルがあります。どうすれば新しい文字列を作成し、文字列の末尾に自動的に挿入することができますか?null以外の終了ベクトルを<char>に変換する
std::vector<char> v;
v.push_back('H');
v.push_back('i');
v.push_back('!');
//v.push_back('\0'); <~ without using this line
std::string a(v.data());
std::string b(v.begin(), v.end()); // same meaning as b(v.data(), v.size())
2つの間に正しいコンストラクタはありますか?
'std :: string'を使用している場合、終了するゼロは自動的に処理されます。しかし、 'std :: string'はコピー中にそれを探しているので、' a'のコンストラクタに必要です。 'b'コンストラクタを使うことが最善の方法でしょう – litelite