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讲 文件 - c语言教程课件,共26课时... 第26讲 文件_资格考试/认证_教育专区。c语言教程课件,共26课时 第十三章:文件。 只要求掌握缓冲文件系统的以下几点内...

第26讲 文件_图文.ppt

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

第26讲 文件1_图文.ppt

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

第26讲(复习)_图文.ppt

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

第26讲数据库应用基础_图文.ppt

第26讲 数据库应用基础 (二) 6.2 当前流行的关系型数据库简介 6.2.1 ...“文件”|“关闭”命令 ⑶退出数据库:退出已打开数据库的方法 ①单击屏幕窗口...

第26讲.doc

暂无评价|0人阅读|0次下载 | 举报文档 第26讲_其它考试_资格考试/认证_教育专区。报关员考试 报关员考试精讲班第26讲作业卷一、简答题: 1、 冻扇贝(供食用...

新第26讲_图文.ppt

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

第26讲 溶液.doc

暂无评价|0人阅读|0次下载 | 举报文档 第26讲 溶液_理化生_初中教育_教育专区。溶液 第26 讲一、选择题 溶液 1.(2013,成都)20 ℃时,氯化钠的溶解度为 36...

第26讲 统计_图文.doc

暂无评价|0人阅读|0次下载 | 举报文档 第26讲 统计_数学_自然科学_专业资料。第八单元 统计与概率第 26 讲 统计 一、 知识清单梳理 知识点一:数据收集、整理...

第26讲 统计_图文.doc

暂无评价|0人阅读|0次下载 | 举报文档 第26讲 统计_数学_自然科学_专业资料。第八单元 统计与概率第 26 讲 统计 一、 知识清单梳理 知识点一:数据收集、整理...

第26讲 建网站的概念及工具简介_图文.doc

暂无评价|0人阅读|0次下载|举报文档第26讲 建网站的概念及工具简介_计算机软件及应用_IT/计算机_专业资料。课前播放初一优秀网站 第 26 讲 P107-114 建网站的...

入行论第26课讲解_图文.ppt

入行论第26课讲解_其它模板_PPT模板_实用文档。入行论26课 无著菩萨 著释

第八单元 第26讲_图文.ppt

暂无评价|0人阅读|0次下载|举报文档第八单元 第26讲_语文_高中教育_教育专区。第26讲 人和高等动物的神经调节 [ 考纲要求 ] 1.人体神经调节的结构基础和调节过...

第26讲(复习2)_图文.ppt

暂无评价|0人阅读|0次下载 | 举报文档 第26讲(复习2)_语文_高中教育_

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

暂无评价|0人阅读|0次下载 | 举报文档 第26讲 信号的转换_兵器/核科学_工程科技_专业资料。第二十六讲 信号的转换 第二十六讲 信号的转换一、概述 二、u-...

第26讲应用题(三).doc

暂无评价|0人阅读|0次下载 | 举报文档 第26讲应用题(三)_初一数学_数学_初中教育_教育专区。第 26 讲应用题(三)一、知识要点 数学应用题涉及的题材广泛,内容...

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

暂无评价|0人阅读|0次下载 | 举报文档 第26讲 信号的转换_工学_高等教育_教育专区。第二十六讲 信号的转换一、概述 二、u-i转换电路 三、精密整流电路 四...

第26讲 网络计划技术_图文.ppt

暂无评价|0人阅读|0次下载 | 举报文档 第26讲 网络计划技术_建筑/土木_工程科技_专业资料。第12章 网络计划技术 第26讲 网络计划技术 第27讲 网络技术的应用...

数据结构与算法--第26讲图3..doc

数据结构与算法--第26讲图3._其它_职业教育_教育专区 暂无评价|0人阅读|0次下载 | 举报文档 数据结构与算法--第26讲图3._其它_职业教育_教育专区。数据...

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