利用FILE结构对文件进行操作

本文介绍了一个使用C++进行文件操作的例子,演示了如何通过结构体数组输入和读取学生信息(包括学号、姓名和成绩),并将其保存到名为Student.txt的文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//利用FILE结构对文件进行操作
//输入若干个学生的数据(包括学号、姓名和成绩)
//将数据存放在Student.txt文件中
//从Student.txt文件中读取所有数据并显示出来
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
struct student
{
 char num[8];
 char name[20];
 float score;
};
void main()
{
 student from[100],to[100];                                   //定义结构体数组,from用于存放输入的数据的,to用于存放从文件中读取的数据
 int n;
 cout<<"输入学生的人数:";
 cin>>n;
 for(int i=0;i<n;i++)                                        //输入学生数据,并存放到from数组中
 {
  cout<<"输入第"<<i+1<<"个学生的学号、姓名、成绩:";
  cin>>from[i].num>>from[i].name>>from[i].score;
 }
 FILE *write,*read;                                          //定义两个文件指针,分别用于对文件的写和读
 if((write=fopen("Student.txt","w"))==NULL)                  //判断目标文件是否成功打开
 {
  cout<<"cannot open this file./n"<<endl;
  exit(0);
 }
 for(i=0;i<n;i++)                                            //将学生的数据写到文件中
 {
  if(fwrite(&from[i],sizeof(student),1,write)!=1)         //判断原文件是否成功打开
  {
   cout<<"file write error./n"<<endl;
   exit(0);
  }
 }
 fclose(write);
 if((read=fopen("Student.txt","r"))==NULL)
 {
  cout<<"cannot open this file./n"<<endl;
  exit(0);
 }
 cout<<"学号/t姓名/t分数"<<endl;
 for(i=0;i<n;i++)                                            //将文件中的数据读出,并显示在屏幕上
 {
  fread(&to[i],sizeof(student),1,read);
  cout<<to[i].num<<'/t'<<to[i].name<<'/t'<<to[i].score<<endl;
 }
 fclose(read);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值