标题:问一道C++文件的题
只看楼主
aogun
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:638
专家分:0
注 册:2006-4-5
得分:0 
偶倒,几十个字节都不想给么?   OK,下了

世界上总共有 10 种人,一种懂得什么是二进制 ,一种不懂。
2006-06-26 19:17
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
得分:0 
以下是引用wfpb在2006-6-26 19:11:19的发言:
....这样要多分配内存列,呵呵~!用get和put只需要一个变量的内存

但是可以减少操作次数,呵呵~循环减少很多哦!

我知道,我是想知道EOF的效果,为什么会那样?


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-06-26 20:09
elitiwin
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-5-28
得分:0 

谢谢了,最近在整文件的问题,今天又遇到一个问题
我写了个文件读取函数,使其读取以下文件
//学号 语文 数学 英语 物理 化学
1234 76 89 97 87 98
2345 77 87 90 76 97
2345 89 65 65 75 86

我用传统的方法
ifstream In;
In>>StuID>>yuwen>>shuxue>>yingyu>>wuli>>huaxue;
以上都是整形变量。
成功读取了文件的内容,但是题目要求每一们的平均分,我立即想到了用数组做,但是当我全定义为数组后,
却发现取不出文件的内容。
两位大哥帮我分析分析该如何写这个函数,谢谢

2006-06-27 21:53
wimphy
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2005-12-1
得分:0 

//try this

#include<iostream>
#include<fstream>
using namespace std;

struct stu{
int num;
int chi;
int math;
int eng;
int phy;
int che;
};

void main(){
const int arraysize=800;//the max lines you read every page
stu s[arraysize];
int i=0;

ifstream in("in.txt");
ofstream out("out.txt");

if(!in||!out){
cerr<<"err"<<endl;
return;
}

while(!in.eof()&&i<arraysize){
in>>s[i].num>>s[i].chi>>s[i].math>>s[i].eng>>s[i].phy>>s[i].che;
i++;
if(i>=arraysize){
cout<<"bufer full"<<endl;
return;
}
}
for(int j=0;j<i-1;j++){
out<<s[j].num<<" "<<
s[j].chi<<" "<<
s[j].math<<" "<<
s[j].eng<<" "<<
s[j].phy<<" "<<
s[j].che<<endl;
}
}

2006-06-28 17:03
aogun
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:638
专家分:0
注 册:2006-4-5
得分:0 
以下是引用wfpb在2006-6-26 20:09:54的发言:

但是可以减少操作次数,呵呵~循环减少很多哦!

我知道,我是想知道EOF的效果,为什么会那样?

不懂你的意思,eof就是判断是否读到文件尾啊


世界上总共有 10 种人,一种懂得什么是二进制 ,一种不懂。
2006-06-28 17:13
elitiwin
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-5-28
得分:0 

谢谢wimphy,原来用的是结构体,哈哈,学C++真锻炼思维能力,有问题我还会来问的.

2006-06-29 08:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-74740-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.101677 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved