boost :: algorithm :: joinの良い例


116

私は最近boost :: algorithm :: joinを使用したかったのですが、使用例を見つけることができず、この1つの関数を使用するためだけにBoost Rangeライブラリの学習に多くの時間を費やしたくありませんでした。

文字列のコンテナで結合を使用する方法の良い例を誰かが提供できますか?ありがとう。


30
ブーストライブラリ「foo」の例を探す場合、boost / libs / foo / examplesおよびboost / libs / foo / testを調べることをお勧めします。本ケースでは、ブースト/ libsに/アルゴリズム/文字列/テスト/ join_test.cppで見ることができる
エリックMalenfant

回答:


224
#include <boost/algorithm/string/join.hpp>
#include <vector>
#include <iostream>

int main()
{
    std::vector<std::string> list;
    list.push_back("Hello");
    list.push_back("World!");

    std::string joined = boost::algorithm::join(list, ", ");
    std::cout << joined << std::endl;
}

出力:

Hello, World!

4
カスタム型をサポートできますか?たとえば、クラスにAToString値を返すメソッドがあります。各要素を呼び出すstringことでjoinを結合するために使用できますか?vector<A>ToString
ケンチャン

43
std::vector<std::string> MyStrings;
MyStrings.push_back("Hello");
MyStrings.push_back("World");
std::string result = boost::algorithm::join(MyStrings, ",");

std::cout << result; // prints "Hello,World"

7
この回答は、古い回答よりも労力が少なく、付加価値はありません。なぜまだここにあるのですか?
arekolek
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.