请教stringstream的用法~
请看一下一个输入文件:
1 2 3 45 63 54 78 1
12 56 47
11 748 92 33 4
145 23
我试图把他们按行读出并且对每一行的证书进行计数,按行输出每一行的整数个数:
8
3
5
2
于是,我想用一个getline(),将一整行读入一个字符串,然后将其作为一个istringstream,然后再从这个流中读取整数并计数,读完一行,清空istringstream,重新指向新的字符串,继续执行读取和计数:
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
string linebuf;
ifstream fin("test.in",ios_base::in);
while(getline(fin,linebuf)){
istringstream iss;
iss.str(linebuf); //是应该这么写吗?
int d,i=0;
while(iss>>d)
i++;
cout<<i<<endl;
}
return 0;
}
不知道这样写对不对,是不是符合使用的规范~
对stringstream不是很熟,希望高手讲解~!