c++字符串流stringstream按行读取如何实现?

如果已经有个stringstream ss是这样得来的:
ss<<"aaa"<<' '<<"bbb"<<' '<<“ccc”<<endl;
如何可以用简单的方法得到string类"aaa bbb ccc"?
能具体点么?像getline(cin,s)这种方法我尝试过
但是getline(stringstream,s)不行啊。

1、利用C++按行读取文本文件其实很简单。假设有一个文本文件,如下所示:
1 2 3
2 3 4
3 4 5
5 6 7
7 8 9
文件名为split.txt
目的:按照行读取数据,并一个个的显示出来。
2、例程:

#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
int main(int args, char **argv)
{
std::ifstream fin("split.txt", std::ios::in);
char line[1024]={0};
std::string x = "";
std::string y = "";
std::string z = "";
while(fin.getline(line, sizeof(line)))
{
std::stringstream word(line);
word >> x;
word >> y;
word >> z;
std::cout << "x: " << x << std::endl;
std::cout << "y: " << y << std::endl;
std::cout << "z: " << z << std::endl;
}
fin.clear();
fin.close();
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-02
如果你用的是vc6,那么是软件bug
修复方法请看参考资料,我之前回答过类似的问题

参考资料:http://zhidao.baidu.com/question/266898123.html

第2个回答  2011-06-02
getline(ss, s)本回答被提问者采纳
第3个回答  2011-06-02
getline()函数追问

能具体点么?像getline(cin,s)这种方法我尝试过
但是getline(stringstream,s)不行啊。

相似回答