2009-04-06 8 views
3

私は文字列のベクトルを持っており、これらの文字列をスペースで区切られた単一の文字列に結合しようとしています。たとえば、ベクトルに値が含まれている場合: サンプル 文字列 の場合 例 出力を「この例のサンプル文字列」にします。文字列を連結する

これを達成する最も簡単な方法は何ですか?

おかげ

答えて

13
#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; 
+0

参加。 –

+0

それはboost :: joinがあなたのために行うことの1つです:http://stackoverflow.com/questions/1833447/a-good-example-for-boostalgorithmjoin –

4

ブースト::それはしかし、末尾のスペースをトリミングする必要性について残念だ

+0

良い例がなければ、boost :: joinは痛みの世界。このドキュメントでは、少なくともBoost Rangeライブラリに精通していることを前提としています。 –