| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 787 人关注过本帖
标题:我是初学者,这个程序运行时 会提示file read error,麻烦各位帮我找找问题 ...
只看楼主 加入收藏
zhoujunwei
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-9-16
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
我是初学者,这个程序运行时 会提示file read error,麻烦各位帮我找找问题所在。。。谢谢
#include<stdio.h>
#include<string.h>
#define SIZE 2
struct student                /*定义一个结构体数组,存放10个学生的学号,姓名,math、Chinese、English三门课的成绩*/
 {
 int number;
 char name[20];
 int score[4];
 }stu[SIZE];

void main()
  {
  void input(struct student stu[] ,int n);
  void duchu(struct student stu[] ,int n);
  /*void sort(struct student stu[] ,int n);*/
  void save();
  input (stu,SIZE);
  /*sort(stu,SIZE);*/
  save();
  duchu(stu,SIZE);
  getch();
}
 void input(struct student stu[] ,int n)                    /* 从键盘输入10个学生的以上内容*/
  {
  int i;
  for(i=0;i<SIZE;i++)
   {
    printf("please input student number.%d:\n",i+1);
    printf("   number:");
    scanf("%d",&stu[i].number);
    printf("   name:");
    scanf("\n");
    gets(stu[i].name);
    printf("   math score:");
    scanf("%d",&stu[i].score[0]);
    printf("   Chinese score:");
    scanf("%d",&stu[i].score[1]);
    printf("   English score:");
    scanf("%d",&stu[i].score[2]);
    }
 }
 void save()                                /* 10个学生的以上内容,存入文件stud.dat,关闭文件*/
 {FILE *fp;
 int i;
 if((fp=fopen("C:\\Users\\zhou\\Desktop\\stud.dat","wb"))==NULL)
  {
  printf("cannot open file\n");
  return;
  }
  for(i=0;i<SIZE;i++)
  if(fwrite(&stu[i],sizeof( struct student),1,fp)!=1)
  printf("file write error\n");
  fclose(fp);
  }

  void duchu(struct student stu[] ,int n)
  {
   FILE *fp;
  int i;
  fp=fopen("C:\\Users\\zhou\\Desktop\\stud.dat","wb");
   for(i=0;i<SIZE;i++)
   if(fread(&stu[i],sizeof( struct student),1,fp)!=1);
    printf("file read error\n");
    fclose(fp);
    }

搜索更多相关主题的帖子: 姓名 English Chinese include number 
2011-09-16 15:14
czsbc
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:469
专家分:1700
注 册:2008-12-13
收藏
得分:7 
编译就发现了一个warning:
if(fread(&stu[i],sizeof( struct student),1,fp)!=1); //这里加了分号就是空语句,下面的printf肯定会执行的。
    printf("file read error\n");
2011-09-16 15:18
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:7 
文件路径名错了

总有那身价贱的人给作业贴回复完整的代码
2011-09-16 15:19
zhoujunwei
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-9-16
收藏
得分:0 
回复 2楼 czsbc
改啦,但还是不行啊
2011-09-16 19:29
zhoujunwei
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-9-16
收藏
得分:0 
回复 3楼 embed_xuel
不懂,能说清楚点吗
2011-09-16 19:30
qizhongshun
Rank: 2
等 级:论坛游民
威 望:1
帖 子:31
专家分:26
注 册:2011-9-16
收藏
得分:7 
e
2011-09-16 19:54
czsbc
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:469
专家分:1700
注 册:2008-12-13
收藏
得分:0 
void duchu(struct student stu[] ,int n)
 {
fp=fopen("C:\\Users\\zhou\\Desktop\\stud.dat","wb");            //这里应该是"rb"
}
2011-09-16 20:12
zhoujunwei
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-9-16
收藏
得分:0 
回复 4楼 zhoujunwei
就是无法执行读取文件的那一步,而且运行后提示,file read error
2011-09-19 09:28
zhoujunwei
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-9-16
收藏
得分:0 
回复 6楼 qizhongshun
改啦,但还是不行
2011-09-19 09:28
快速回复:我是初学者,这个程序运行时 会提示file read error,麻烦各位帮我找找 ...
数据加载中...
 
   



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

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