| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1885 人关注过本帖
标题:[求助]文件流_结构体怎么写入磁盘中
取消只看楼主 加入收藏
peggy_7
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-5-23
收藏
 问题点数:0 回复次数:3 
[求助]文件流_结构体怎么写入磁盘中

文件流问题``  
  有5个学生,每个学生有学号,姓名和某门课的成绩等三项信息。从键盘上输入学生的信息,把这些学生的信息按照程序从高到低写到一个名为“test”的磁盘文件中
  下面是我写的程序,但是运行后没能显示test里面的内容``后面我查看了磁盘中的test 里面都是写乱码,为什么啊`??? 我最大的问题是怎么把结构体写入磁盘中``大家帮忙看下吧  程序看起来虽然有点长,不过都是写重复的东东`` 
 
   #include<stdio.h>
#include<string.h>
#include<stdlib.h>

#define MAX 2
struct student
{
char num[50];
char name[50];
float mark;
}stu[MAX];

void main()
{
void sort(struct student *stu);
void putout(struct student *stu);
int i;
for(i=0;i<MAX;i++)
{
scanf("%s %s %f",stu[i].num,stu[i].name,&stu[i].mark);
}
sort(stu);
putout(stu);

// 放到指定的文件中```
FILE *fp;
if((fp=fopen("test.txt","w"))==NULL)           //这里用w对吧 要不要用w+或是其他的啊
{
printf("you can not open the file ~!!");
exit(0);
}

if((fwrite(&stu[i],sizeof(struct student),1,fp))!=1)   // 这里有点不解,=1是什么意思啊??
{
printf("error");                 // 使用fwrite能将结构体写入吗??
exit(0);
}
fclose(fp);

// 读出文件内内容-------------------------------------

if((fp=fopen("test.txt","r"))==NULL)
{
printf("you can not open the file ~!!");
exit(0);
}

if (fread(&stu[i],sizeof(struct student),1,fp)!=1)
{
printf("error!");
exit(0);
}
fclose(fp);

}

void sort(struct student *stu)
{
int i,j;
struct student temp;
for(i=0;i<MAX-1;i++)
{
for(j=i+1;j<MAX;j++)
{
if(stu[i].mark<stu[j].mark)
{
temp=stu[i];
stu[i]=stu[j];
stu[j]=temp;
}
}
}
}


void putout(struct student *stu)
{
int i;
for(i=0;i<MAX;i++)
{
printf("%s %s %f\n",stu[i].num,stu[i].name,stu[i].mark);

}
}

搜索更多相关主题的帖子: 结构体 磁盘 文件 test include 
2007-07-19 10:30
peggy_7
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-5-23
收藏
得分:0 
恩 后面我修改了 ok了 
但是我对那个"=1"不是很清楚,什么意思``?? 还有为什么要用 wb 和 rb 格式``用w 和 r 可以吗``??我试过了也可以得到答案,实质上有什么区别吗 ?为什么要定义为二进制文件
2007-07-19 10:58
peggy_7
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-5-23
收藏
得分:0 
  又来一题`` 在原题的基础上要加入一个新的记录`` 并且要顺序加入`` 
   如果在磁盘中扫描的时候进行 mark的对比,大与所扫描到的 mark 时,用追加的格式加入后,后面的记录会不会被覆盖啊``???
2007-07-19 11:20
peggy_7
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-5-23
收藏
得分:0 
 这个难度有点大`` 这程序还真麻烦``
  ps:越狱 迷` 哈 我也喜欢的`
2007-07-19 11:44
快速回复:[求助]文件流_结构体怎么写入磁盘中
数据加载中...
 
   



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

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