使用getline在文件中提取一行数据后如何将信息分离

来源:百度知道 编辑:UC知道 时间:2024/06/29 03:04:22
例如有以下一个文件
11 aa AA
22 bb BB
我在其中通过getline ( file, str );将一行的内容放进了string类型的str变量中
但是我想将"11","aa","AA"(数据之间用空格分隔)分别存入不同的变量中我应该如何处理?
1.不用scanf的方法,要使用流~
2.文件流迭代器可否换成对string对象的迭代器?即是对string对象的操作,不是对文件的操作,例如getline ( str1, str2, ' ' );这样的形式(str1和str2均为string型,虽然这样不可能)

你可以用文件流跌代器去读取
如 istream_iterator <string> in();()里填入你的流

按你说的 你也可以先getline读入string 然后用stringstream>>str1>>str2>>str3这样也行

举个例子:

#include<stdio.h>

void main()
{
char a[] ="11 22 33";
char b[3],c[3],d[3];

sscanf(a,"%s%s%s",b,c,d);
printf("%s\n%s\n%s\n",b,c,d);
}