c语言文件操作实验心得,C语言学习--实验八 文件操作.doc

实验项目编号 06实验项目名称文件操作实验学时 2学时实验时间 2016.12.20实验地点 教一 503指导老师周宏生

’\n’写到文件里)。

(4)利用fgets函数将文件里的字符串读出显示到屏幕上

(知识点:文本文件的打开、关闭操作,fopen函数和fputs函数的使用。)

2、修改上题的程序:用结构体定义学生学号、姓名、成绩,输入若干个数据到file2.txt中,并将其显示在显示器上。

要求:

(1)定义一个结构体数组,数组元素为结构体类型,成员有学号、姓名、成绩,数组长度为SIZE。

(2)定义一个save函数,利用fwite函数将数组中的元素写到指定的file2.txt文件中。

(3)定义一个print函数,利用fread函数将file2.txt文件中的成组数据读入到内存,再显示到屏幕上。

(4)在主函数里调用save和print 函数。

(知识点:二进制文件的打开、关闭操作,fwite函数和fread函数的使用。)

3、应用读写定位指针,将2中的第奇数个学生的数据,写入到另一个file3.txt文件中并将其显示在显示器上进行比较。

要求:

(1)按二进制只读方式分别打开file2.txt和file3.txt文件。(注意:需要设两个文件指针)

(2)利用fseek函数将文件位置标记指向file2.txt文件开头,每次位移量应定位在第奇数个学生上。

(3)利用fread函数将file2.txt文件中的当前学生数据读入到内存中的结构体数组元素上,再显示到屏幕上。

(4)利用fwite函数将数组中的元素写到指定的file3.txt文件中。

(5)利用feof函数判断file2.txt文件信息是否读完,最后关闭两个文件。

(知识点:fseek函数和feof函数的使用。)

三、代码如下

#include

#include

#include

int main()

{

FILE *fp;

char ch[10];

int i=0;

if(!(fp=fopen("file1.txt","w")))//只写,打开文本文件

{

printf("无法打开文件\n");

exit(0);

}

printf("请输入信息,以#结束:\n");

gets(ch);

while(strcmp(ch,"#")){

fputs(ch,fp);

fputs("\n",fp);

gets(ch);

}

fclose(fp);//关闭文件

if(!(fp=fopen("file1.txt","r")))//只读,打开文本文件

{

printf("无法打开文件\n");

exit(0);

}

while(fgets(ch,10,fp)!=0)

{

printf("%s",ch);

i++;

}

fclose(fp);//关闭文件

return 0;

}

/*

#include

#include

#define SIZE 5

struct student//学生结构体

{

int num;//学号

char name[20]; //姓名

int score; //成绩

}stu[SIZE];

void save()

{

FILE *fp;

int i=0;

if(!(fp=fopen("file2.txt","w")))//只写,打开文本文件

{

printf("无法打开文件\n");

exit(0);

}

for(i=0;i

fwrite(&stu[i],sizeof(struct student),1,fp);

fclose(fp);//关闭文件

}

void print()

{

FILE *fp;

int i=0;

if(!(fp=fopen("file2.txt","r")))//只读,打开文本文件

{

printf("无法打开文件\n");

exit(0);

}

for(i=0;i

{

fread(&stu[i],sizeof(struct student),1,fp);

printf("%d\t %s\t %d\n",stu[i].num,stu[i].name,stu[i].score);

}

fclose(fp);//关闭文件

}

int main()

{

int i;

printf("请输入学号,姓名,分数:\n");

for(i=0;i

sc

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验目的】 1. 了解文件系统的原理; 2. 用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。 【实验准备】 1.文件的逻辑结构  顺序文件  索引文件  索引顺序文件  直接文件和哈希文件 2.外存分配方式  连续分配  链接分配  索引分配 【实验内容】 1. 实验要求 要求设计一个 n个用户的文件系统,每次用户可保存m个文件,用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有Create、delete、open、close、read、write等命令。 2. 实验题目  设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。  程序采用二级文件目录(即设置主目录[MFD])和用户文件目录(UED)。另外,为打开文件设置了运行文件目录(AFD)。  为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指针,并不进行实际的读写操作。 因系统小,文件目录的检索使用了简单的线性搜索。文件保护简单使用了三位保护码:允许读写执行、对应位为 1,对应位为0,则表示不允许读写、执行。程序中使用的主要设计结构如下:主文件目录和用户文件目录( MFD、UFD)打开文件目录( AFD)(即运行文件目录)。 M D F 用户名 文件目录指针 用户名 文件目录指针 U F D 文件名 保护码 文件长度 文件名 A F D 打开文件名 打开保护码 读写指针

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值