c ++ boost string dividida
Estou usando oboost::split
método para dividir uma string como esta:
Primeiro, certifique-se de incluir o cabeçalho correto para ter acesso aboost::split
:
#include <boost/algorithm/string.hpp>
então
vector<string> strs;
boost::split(strs,line,boost::is_any_of("\t"));
e a linha é como
"test test2 test3"
É assim que eu consumo o vetor da sequência de resultados:
void printstrs(vector<string> strs)
{
for(vector<string>::iterator it = strs.begin();it!=strs.end();++it)
{
cout << *it << "-------";
}
cout << endl;
}
Mas por que no resultadostrs
Eu só recebo"test2"
e"test3"
, não deveria ser"test"
, "test2"
e"test3"
, tem\t
(guia) na sequênci
tualizado em 24 de abril de 2011: Parece que depois que eu mudei uma linha de código emprintstrs
Eu posso ver a primeira corda. Eu mude
cout << *it << "-------";
par
cout << *it << endl;
E parecia"-------"
cobriu a primeira corda de alguma form