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_图文.ppt

【新】三十讲第26讲全文内容ppt - 第二十六讲 学习 解读 前言 中共中央宣

第26讲 文件_图文.ppt

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

第26讲 绩效面谈.doc

第26讲 绩效面谈 - 第 26 讲 【本讲重点】 常见的误区 面谈的准备 绩效

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

第26讲(复习)_工学_高等教育_教育专区。学会学习 学会创造 第 25 讲总复习(...(4)文件寄存器D1000~D2999(2000点) 文件寄存器是一类专用数据寄存器,用于存贮...

第26讲作业.doc

第26讲作业 - ? ? ? 第二章/第四节:波动光学(三)(2013 年新版) 公共基础(数理化)-精讲班-第 26 讲 1、在双缝干涉实验中,两缝的间距为 0.6mm,照亮...

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

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

第26讲 工资_图文.ppt

第26讲 工资 - 微观经济学 微观经济学第26讲 第三节 工资 微观经济学 一

第26讲 统计_图文.doc

第26讲 统计 - 第八单元 统计与概率 第 26 讲 统计 一、 知识清单梳理

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

入行论第26课讲解 - 入行论26课 无著菩萨 著释 索达吉堪布 译讲 为度化一切众生请大家发无上殊胜的菩提心 1 2 第25课回顾 第26课总摄 内容详解 课后...

第26讲 统计_图文.ppt

第26讲 统计 - 数学 河南专用 第26讲 统计 考点1调查方式 调查方式 概

第26讲 统计_图文.doc

第26讲 统计 - 第八单元 统计与概率 第 26 讲 统计 一、 知识清单梳理

第26讲 尺规作图.ppt

第26讲 尺规作图_数学_初中教育_教育专区 暂无评价|0人阅读|0次下载 | 举报文档 第26讲 尺规作图_数学_初中教育_教育专区。 ...

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

第26讲 建网站的概念及工具简介_计算机软件及应用_IT/计算机_专业资料。课前...右击网页(例如:index.htm),在弹出快捷菜单中,你可以选择“打开”后再在“文件...

新概念第26讲.doc

新概念第26讲 - Lesson26 Name 【知识要点】 1.必背单词 ①c

第26讲 统计_图文.doc

第26讲 统计 - 第八单元 统计与概率 第 26 讲 统计 一、 知识清单梳理

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

第12章 网络计划技术 第26讲 网络计划技术 第27讲 网络技术的应用 第12

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

第26讲 网络计划技术 - 土木工程施工 第12章 网络计划技 第26讲 网络计

数学第26讲.doc

数学第26讲 - 第 26 讲 平均数问题 姓名 杨昕悦 班级 四(6)班 1、

第26讲 基因与性状.ppt

第26讲 基因与性状_初一理化生_理化生_初中教育_教育专区 暂无评价|0人阅读|0次下载|举报文档 第26讲 基因与性状_初一理化生_理化生_初中教育_教育专区。,新...

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

离散数学(第26讲) - 冯伟森 Email:fws365@scu.edu.cn

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