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

questionAnswers(2)

yourAnswerToTheQuestion