Так как это имеет тег C ++:
// Beware, brain-compiled code ahead!
#include <string>
#include <sstream>
#include <iostream>
int main()
{
std::istringstream iss("LINE TO BE SEPARATED");
while( iss.good() ) {
std::string token;
iss >> token;
std::cout << token '\n';
}
return 0;
}
Редактировать: Как сказал Конрад в своем комментарии, вышеприведенный цикл можно заменить на std::copy
, работающий с потоковыми итераторами:
// Beware, brain-compiled code ahead!
#include <string>
#include <sstream>
#include <iostream>
#include <algorithm>
int main()
{
std::istringstream iss("LINE TO BE SEPARATED");
std::copy( std::istream_iterator<string>(std::iss)
, std::istream_iterator<string>()
, std::ostream_iterator<string>(std::cout, "\n") );
return 0;
}
Я должен (неохотно) признать, что есть, что сказать по этому поводу.