私は文字列のベクトルを持っており、これらの文字列をスペースで区切られた単一の文字列に結合しようとしています。たとえば、ベクトルに値が含まれている場合: サンプル 文字列 の場合 例 出力を「この例のサンプル文字列」にします。文字列を連結する
これを達成する最も簡単な方法は何ですか?
おかげ
私は文字列のベクトルを持っており、これらの文字列をスペースで区切られた単一の文字列に結合しようとしています。たとえば、ベクトルに値が含まれている場合: サンプル 文字列 の場合 例 出力を「この例のサンプル文字列」にします。文字列を連結する
これを達成する最も簡単な方法は何ですか?
おかげ
#include <iterator>
#include <iostream>
#include <sstream>
#include <vector>
#include <algorithm>
std::vector<std::string> v;
...
std::stringstream ss;
std::copy(v.begin(), v.end(), std::ostream_iterator<std::string>(ss, " "));
std::string result = ss.str();
if (!result.empty()) {
result.resize(result.length() - 1); // trim trailing space
}
std::cout << result << std::endl;
ブースト::それはしかし、末尾のスペースをトリミングする必要性について残念だ
良い例がなければ、boost :: joinは痛みの世界。このドキュメントでは、少なくともBoost Rangeライブラリに精通していることを前提としています。 –
参加。 –
それはboost :: joinがあなたのために行うことの1つです:http://stackoverflow.com/questions/1833447/a-good-example-for-boostalgorithmjoin –