从C ++中的行读取单词

时间:2009-09-27 17:18:48

标签: c++ string file-io

我想知道是否有办法从一行文字中读取所有“单词”。

这条线看起来像这样:R,4567890,Dwyer,Barb,CSCE 423,CSCE 486

有没有办法使用逗号作为分隔符将此行解析为数组或其他内容?

2 个答案:

答案 0 :(得分:11)

是的,请使用std::getline和字符串流。

std::string str = "R,4567890,Dwyer,Barb,CSCE 423,CSCE 486";

std::istringstream iss(str);
std::vector<std::string> words;

while (std::getline(iss, str, ','))
  words.push_back(str);

答案 1 :(得分:1)

//#include sstream with angular braces in header files 

std::string str = "R,4567890,Dwyer,Barb,CSCE 423,CSCE 486";

std::istringstream iss(str,istringstream:in);

vector<std::string> words;

while (std::getline(iss, str, ','))
  words.push_back(str);