关于读文件

[复制链接]
2145|5
 楼主| dfsa 发表于 2012-8-26 15:23 | 显示全部楼层 |阅读模式
数据文件input_data.txt中数据如下:
1 2 3 4
2 3 4 1
3 4 2 1

程序很简单,从文本文件input_data.txt中每次读入4个数据,一共读3次。如下,
#include<iostream>
#include<fstream>
using namespace std;
void read(int *mi,ifstream in){
int i;
for(i=0;i<4;i++)
in>>mi[i];
}
int main(){
ifstream i_data("input_data.txt");
int i,j,d[4];
for(i=0;i<4;i++){
read(d,i_data);
for(j=0;j<4;j++)
cout<<d[j]<<" ";
cout<<"\n";
}
i_data.close();
return 0;
}
但是程序出现如下2个问题:
1.第1次调用read函数读正常,但第二次调用read函数读入的仍然是1 2 3 4,
2.但当第二次读完,结束循环时,系统报错,
我估计是文件的读指针问题,但不知道该怎样修改程序
无冕之王 发表于 2012-8-26 15:31 | 显示全部楼层
整行读取 getline方法 试试
yybj 发表于 2012-8-26 15:44 | 显示全部楼层
典型的传值问题,这和修改两个变量的值,不传引用或者指针有啥区别?内部的变化了,外部的数据没变
秋天落叶 发表于 2012-8-26 15:51 | 显示全部楼层
最好不要重载库函数
firstblood 发表于 2012-8-27 08:52 | 显示全部楼层
看来又是软件代码的问题了啊,建议是多步仿真了
autor 发表于 2012-9-7 12:36 | 显示全部楼层
一步一步检查,这个调试比较麻烦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

282

主题

2404

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部