编程论坛
注册
登录
编程论坛
→
C++教室
关于读取文件的问题,比较急
hfork
发布于 2007-12-01 13:54, 807 次点击
怎么把存放在txt文件里的数据读出来存到一个数组里,里边有N行3列数据,都是浮点型的,最好能给出代码,我属于现学现用,自己看了一些,但还不是太明白
8 回复
#2
天使梦魔
2007-12-01 16:16
#include <fstream>
用
ifstream 读文件。
ifstream in("test.txt");//定义in,成功的话读到文件。
然后用循环每次输一下,懒得写了,去baidu吧
#3
hfork
2007-12-01 16:55
楼上朋友就麻烦你一下呗,我都baidu过了,都不是很明了(主要是我的水平实在很有限)
#4
中学者
2007-12-01 16:58
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
int main()
{
string buffer;
string str[100];
int count=-1; //记录实际读取行数
char path[]="C:\\Documents and settings\\lizesong\\桌面\\lov.txt";
ifstream ifile; //读文件对象
ifile.open(path);
if(ifile) //如果文件打开成功
{
while(getline(ifile,buffer))
{
str[++count]=buffer.c_str();
}
}
else
{
cerr<<"文件打开失败,退出程序~";
exit(0);
}
ifile.close();
for(int i=0;i<=count;i++)
cout<<str[i]<<'\n';
return 0;
}
#5
hfork
2007-12-01 19:00
谢谢楼上,不过这样得到的是字符串,不知道有没有办法直接读出浮点数,将每个数据单独保存为一个数组的元素
#6
天使梦魔
2007-12-02 09:30
强制类型转化
读出来一般都是string
你可以
string i="3.1415";
double f=(double)i;
好象是吧,类型可以转,这个是最危险的转化方法.
转前自己确定下类型是否匹配
#7
windwill
2007-12-02 11:04
读取成字符串后用转换函数就可以了,转换函数可以在MSDN中查到
#8
随心
2007-12-03 12:46
四楼都给做到这样了,下面的应该不难了吧
#9
aipb2007
2007-12-03 15:45
float f;
ifstream fin(".txt");
while(fin >> f){
//你的操作
}
1