std::vector<char>
と astd::string
はメモリを共有できないため、コピーが必要です。それを考えると、最初に停止したい場合'\n'
:
std::string s( v.begin(), std::find( v.begin(), v.end(), '\n' ) );
トリックを行う必要があります。(結果の文字列には が含まれません'\n'
。)
std::find
おそらく、ベクトルの残りの部分を後で解析し続けることができるように、中間変数にの結果を保存する必要があります。