首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

从文件中提取数据,该怎么处理

2012-02-17 
从文件中提取数据……ifstreamfin……fin.get(c);我想问的从文件中提取数据,遇到空格之后可判断为一数据,该怎

从文件中提取数据
……
ifstream   fin;
……
fin.get(c);
我想问的从文件中提取数据,遇到空格之后可判断为一数据,该怎么做??
我一个字符一个字符的提取,但是该怎么连起来,最后还得用atoi、atof之类的转换,感觉很乱,指点指点我这个菜鸟


[解决办法]
#include <string>

string str( ' ');

while (fin.get(c)) {
if (c != ' ') { // 说明数字还没有读完
str += c;
} else if (c == ' ') { // 读完数字
int value = atoi(str);
str.resize(0); // 清空表示数字的字符串
}
}

我的思路是,当读入的字符不是空格时,说明这个数字还没有读完,把读入的字符加入到当前的数字的字符串中,当读入的是空格时,说明当前数字已经读完,把字符串转换为数字,清空表示数字的字符串,继续读入。
[解决办法]
到空格之后可判断为一数据,该怎么做??

如果文件中是 空格分割数据的,
那么直接 fin> > data 循环读取即可。

比如test.txt文件中是:11 12 13... (空格分割的 int整数)
ifstream fin( "test.txt ");
int data;

while(!fin.eof())
{
fin> > data; //循环读取数据
cout < < "Read data " < <data < <endl;
}
..

热点排行