tceic.com
学霸学习网 这下你爽了
相关文章
当前位置:首页 >> 工学 >>

第26讲 文件_图文

第十章:文件。 只要求掌握缓冲文件系统的以下几点内容。 1. 文件类型指针(FILE类型指针)。 2. 文件的打开与关闭(fopen( ) , fclose( ) 函 数)。 3. 文件的读写(fprintf( ) , fscanf( )函数)。

第十章 文件
13.1 C语言文件的概念
1. 文件:存储在外部介质上数据的集合,是操作 系统数据管理的单位
使用数据文件的目的 1、数据文件的改动不引起程序的改动——程序与数据分离 2、不同程序可以访问同一数据文件中的数据——数据共享 3、能长期保存程序运行的中间数据或结果数据

2. 文件分类
按文件的逻辑结构:
记录文件:由具有一定结构的记录组成(定长和不定长) 流式文件:由一个个字符(字节)数据顺序组成

按存储介质:
普通文件:存储介质文件(磁盘、磁带等) 设备文件:非存储介质(键盘、显示器、打印机等)

按数据的组织形式:
文本文件: ASCII文件,每个字节存放一个字符的ASCII码 二进制文件:数据按其在内存中的存储形式原样存放

3.文本文件与二进制文件的特点
文本文件特点: 存储量大、速度慢、便于对字符操作
如 int型数10000 ASCII形式

0011000100110000001100000011000000110000
0010011100010000

0010011100010000
内存存储形式 二进制形式

二进制文件特点: 存储量小、速度快、便于存放中间结果

4. 文件处理方法
?缓冲文件系统:高级文件系统,系统自动为正在 使用的文件开辟内存缓冲区 ?非缓冲文件系统:低级文件系统,由用户在程序 中为每个文件设定缓冲区
程序 输入文件缓冲区 缓冲文件系统: 非缓冲文件系统: 指令区 程序数据区 用户数据区 a 磁盘文件 磁盘

输出文件缓冲区 缓冲区

13.2 文件类型指针
1. 文件结构体类型 FILE
? 缓冲文件系统为每个正使用的文件在内存开辟文件信息区 ?文件信息用系统定义的名为FILE的结构体描述 ?FILE定义在stdio.h中 typedef struct { int _fd; int _cleft; int _mode; char *_next; char *_buff; }FILE; //文件号 //缓冲区中剩下的字符数 //文件操作方式 //文件当前读写位置 //文件缓冲区位置

不同的C语言编译器,对于文件结构体的定义有所不同,但 是C标准要求每个C编译器都应该提供一套读写文件数据的函 数。而本章的主要目的也就是要学会使用这些函数。

2. 文件类型指针(重点掌握)
?指针变量说明: FILE *fp; ?用法:
? 文件打开时,系统自动建立文件结构体,并把指向它的指针返回 来,程序通过这个指针获得文件信息,访问文件 ? 文件关闭后,它的文件结构体被释放

C程序

文件名 文件使用 方式 文件类型指针

操作系统

磁盘

13.3 文件的打开与关闭
C文件操作用库函数实现,包含在stdio.h 文件使用方式:打开文件-->文件读/写-->关闭文件 系统自动打开和关闭三个标准文件:
?标准输入------键盘 ?标准输出------显示器 ?标准出错输出-----显示器 stdin stdout stderr

使用文件方式

1. 打开文件函数:fopen( ) (重点掌握)
?函数原型: FILE *fopen(char *name,char *mode) ?功能:按指定方式打开文件 要打开的文件名 ?返值:正常打开,为指向文件结构体的指针;打开 失败,为NULL

文件使用方式
FILE *fopen(char *name,char *mode) mode
"r" / "rb" (只读)

含义
为从文件输入数据而打开一个已存在的文本/二进制文件

"w" / "wb" (只写)
"a" / "ab" (追加)

为输出数据而打开或新建文件,覆盖同名文件 为向文件的尾部追加数据而打开或新建文件 为读/写打开一个已存在的文件,写入则覆盖当前数据 为读/写数据而打开或新建一个文件,覆盖同名文件

"r+" / "rb+" (读写)
"w+" / "wb+" (读写)

"a+" / "ab+" (读写)

为在尾部追加或更新数据打开或建立文件

例 文件打开与测试
例 FILE *fp; fp= fopen ("c:\\fengyi\\bkc\\test.dat", "r"); 例 FILE *fp; char *filename= "c:\\fengyi\\bkc\\test.dat" fp= fopen(filename, "r");

例 文件打开与测试 FILE *fp; fp=fopen("aa.txt", "w"); if(fp= =NULL) { printf("File open error!\n"); exit(0); }

2. 文件关闭函数: fclose( ) (重点掌握)
? 作用:使文件指针变量与文件“脱钩”,释放文件结 构体和文件指针 ? 函数原型:int fclose(FILE *fp) fp:文件打开时返回 的文件类型指针 ?功能:关闭fp指向的文件 ?返值:正常关闭为0;出错时,非0
缓冲文件系统:

不关闭文件可能会丢失数据
磁盘文件

输入文件缓冲区 程序数据区 a

输出文件缓冲区

fclose

4. 格式化I/O:fprintf()与fscanf() (重点掌握)
? 函数原型: int fprintf(FILE *fp,const char *format[,argument,…]) int fscanf(FILE *fp,const char *format[,address,…]) ?功能:按格式对文件进行I/O操作 ?返值:成功,返回I/O的个数;出错或文件尾,返回EOF

例 fprintf(fp, "%d,%6.2f ",i,t); //将i和t按%d,%6.2f格式输出到fp文件 fscanf(fp, "%d,%f ",&i,&t); //若文件中有3,4.5 ,则将3送入i, 4.5送入t

例 从键盘按格式输入数据存到磁盘文件中去
#include <stdio.h> main() { char s[80],c[80]; int a,b; FILE *fp; if((fp=fopen("test","w"))==NULL) { puts("can't open file"); exit() ; } fscanf(stdin,"%s%d",s,&a);/*read from keaboard*/ fprintf(fp,"%s %d",s,a);/*write to file*/ fclose(fp); if((fp=fopen("test","r"))==NULL) { puts("can't open file"); exit(); } fscanf(fp,"%s%d",c,&b);/*read from file*/ fprintf(stdout,"%s %d",c,b);/*print to screen*/ fclose(fp); }

第十章 作业
教材P 习题十 第一大题 全做


推荐相关:

第26讲 文件_图文.ppt

第26讲 文件 - 第26讲 文件 第十六章 文件 ? 16.1 C语言文件的概念 1. 文件:存储在外部介质上数据的集合,是操作系统数 据管理的单位 使用数据文件的目的 ...

第26讲号的转换_图文.ppt

第26讲号的转换_书信模板_表格/模板_实用文档第二十六讲 信号的转换 一、概

第26讲 文件1_图文.ppt

第26讲 文件1 - 第十三章:文件。 只要求掌握缓冲文件系统的以下几点内容。 1. 文件类型指针(FILE类型指针)。 2. 文件的打开与关闭(fopen( ) , fclose( ) ...

【新】三十讲全文第二十六讲ppt_图文.ppt

【新】三十讲全文第二十六讲ppt_其它模板_PPT模板_实用文档第二十六讲

第26讲 阅读简答(1)_图文.ppt

暂无评价|0人阅读|0次下载 | 举报文档 第26讲 阅读简答(1)_英语_高中

模拟电子技术第26讲_图文.ppt

暂无评价|0人阅读|0次下载 | 举报文档 模拟电子技术第26讲_兵器/核科学_工程科技_专业资料。模拟电子技术第26讲,模拟电子技术谁讲得好,兰大模拟电子技术哪个老师...

第26讲 文言文阅读(一)_图文.ppt

暂无评价|0人阅读|0次下载|举报文档第26讲 文言文阅读(一)_初三语文_语文_初中教育_教育专区。第二十六讲 文言文阅读(一) 经典回放一、课内文言字词理解。 ...

新第26讲_图文.ppt

暂无评价|0人阅读|0次下载 | 举报文档第26讲_工学_高等教育_教育专区

第26讲 电和磁_图文.ppt

暂无评价|0人阅读|0次下载|举报文档第26讲 电和磁_科学_初中教育_教育专区。第26讲 电和磁 磁现象 1. 磁性与磁体: 磁体能吸引铁、 钴、 镍等物质的性质叫...

必修2 第五章 第26讲_图文.ppt

暂无评价|0人阅读|0次下载 | 举报文档 必修2 第五章 第26讲_理化生_高中教育_教育专区。第五章 第26讲 交通运输布局及其影响 考点一 主要交通运输方式 知识...

第26讲 Internet操作应用(收发邮件)_图文.ppt

方法2:在邮件目录窗格中,右击邮件→单击“将发件人添加到 通讯簿” 第二十六讲 Internet 操作应用网上冲浪 --- 动手操作4:维护邮箱任务1:整理文件夹 ? 方法...

第26讲 工资_图文.ppt

暂无评价|0人阅读|0次下载 | 举报文档 第26讲 工资_经济学_高等教育_教育专区。微观经济学讲义 微观经济学 微观经济学第26讲 第三节 工资 微观经济学 一、劳...

离散数学(第26讲)_图文.ppt

暂无评价|0人阅读|0次下载 | 举报文档 离散数学(第26讲)_理学_高等教育

第26讲 定线7-2_图文.ppt

暂无评价|0人阅读|0次下载 | 举报文档 第26讲 定线7-2_化学_自然科学

第26讲信号的转换_图文.ppt

暂无评价|0人阅读|0次下载 | 举报文档 第26讲信号的转换_信息与通信_工程科技_专业资料。很好 第二十六讲 利用集成运放实现信号的 转换电路一、概述 二、u-i...

第26讲 电和磁_图文.ppt

暂无评价|0人阅读|0次下载 | 举报文档 第26讲 电和磁_其它_职业教育_教育专区。第26讲 电和磁 考点扫描考试内容 1.磁场 ①知道磁性的概念 ②描述磁体周围存...

26-第二十六讲 构建人类命运共同体_图文.ppt

暂无评价|0人阅读|0次下载 | 举报文档 26-第二十六讲 构建人类命运共同体_生物学_自然科学_专业资料。 第二十六讲构建人类命运共同体 我们呼吁,各国人民同心 ...

习近平新时代中国特色社会主义思想三十讲第二十六讲学....ppt

习近平新时代中国特色社会主义思想三十讲第二十六讲学习解读专题党课ppt课件_党团建设_党团工作_实用文档。...

第26讲 美洲_图文.doc

暂无评价|0人阅读|0次下载 | 举报文档 第26讲 美洲_管理学_高等教育_教

单片机第26讲_图文.ppt

暂无评价|0人阅读|0次下载 | 举报文档 单片机第26讲_工学_高等教育_教育

网站首页 | 网站地图
All rights reserved Powered by 学霸学习网 www.tceic.com
copyright ©right 2010-2021。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com