我只是想用 Boost 标记一些时间。我想输入5:00 PM
和输出<5> <00> <PM>
。问题是我尝试了各种各样的东西,但它只输出<5> <00>
. 但是,如果我输入5:00PM
,我会得到输出<5> <00PM>
。我怎样才能让 boost 接受空间作为令牌(旁边:)?当 PM 与 00 用空格隔开时,它只会继续抛出 PM。
#include "stdafx.h"
#include <iostream>
#include <boost/tokenizer.hpp>
#include <string>
#include <stdlib.h>
#include <boost/algorithm/string.hpp>
using namespace std;
int main(){
string str1;
cin >> str1;
typedef boost::tokenizer<boost::char_separator<char> >
tokenizer;
boost::char_separator<char> sep(":\t ");
string t1 (str1);
tokenizer tokens1(t1, sep);
for (tokenizer::iterator tok_iter = tokens1.begin();
tok_iter != tokens1.end(); tok_iter++)
{cout << "<" << *tok_iter << "> ";}
system("pause");
return 0;
}