利用FILE结构对文件进行操作
2010-05-26 17:27
453 查看
//利用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);
}
//输入若干个学生的数据(包括学号、姓名和成绩)
//将数据存放在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);
}
相关文章推荐
- 利用NumPy和pandas对CSV文件进行写操作
- AutoIT: FileReadLine可以对文件进行读行操作
- SharePoint 中利用WebService 进行文件操作的类
- 利用 Hadoop FileSystem moveToLocalFile 方法下载文件 实现HDFS操作
- vbscript脚本编程教程2利用fso来进行文件操作
- C++编程思想3-利用C++进行文件操作封装C函数
- 利用fprintf进行文件操作--向文件中追加写入
- 利用fprintf进行文件操作--向文件中追加写入
- IE浏览器利用ActiveXObject对象对文件系统进行操作
- HDFS java操作(二)FileStatus 获取文件属性,globStatus 进行路径过滤
- java:File类中对文件或目录进行操作的常用方法以及遍历文件夹下面的文件
- 黑马程序员_java初操作使用FileReader及FileWriter进行文件复制
- 利用POI对MS Excel进行读写(可以设置写入文件的样式),利用tm-extractor对Word进行读取操作并将信息用(log4j)日志信息显示出
- C++编程思想3-利用C++进行文件操作封装C函数
- 使用VB.NET的FileInfo和DirectoryInfo类进行文件操作
- javaScript中利用ActiveXObject来创建FileSystemObject操作文件 (转贴)
- java中IO操作 利用文件流 过滤流对文件进行读写操作
- 利用 Hadoop FileSystem listStatus 遍历文件目录 实现HDFS操作
- 利用hdfs的java api进行文件操作注意事项
- c++对文件进行操作之遍历双层文件结构