如何将char传递给`boost :: char_separator <char>`

时间:2016-02-18 17:43:49

标签: boost

基于How do I tokenize a string in C++?

explicit char_separator(const Char* dropped_delims,
                        const Char* kept_delims = "",
                        empty_token_policy empty_tokens = drop_empty_tokens)

#include <iostream>
#include <string>
#include <boost/foreach.hpp>
#include <boost/tokenizer.hpp>

using namespace std;
using namespace boost;

int main(int, char**)
{
    string text = "token, test   string";

    char_separator<char> sep(", ");
    tokenizer< char_separator<char> > tokens(text, sep);
    BOOST_FOREACH (const string& t, tokens) {
        cout << t << "." << endl;
    }
}

我需要传递一个char作为分隔符,如下所示:

void splitString(const string& text, char sepChar)
{

    char_separator<char> sep(&sepChar);
    tokenizer< char_separator<char> > tokens(text, sep);
    BOOST_FOREACH (const string& t, tokens) {
        cout << t << "." << endl;
    }
}

问题&GT;这是将char转换为const char* boost::char_separator的正确方法吗?

谢谢

0 个答案:

没有答案