教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教学研究 >

C语言二级辅导(文件操作ppt)

来源:网络收集 时间:2026-09-14
导读: C二级参考资料 文件 基本概念 文件类型—文本文件/二进制文件、文件指针 文件的打开和关闭 定位 文件的读/写 常用的库函数: 打开和关闭:fopen、fclose 文件结束判断:feof() 定位:fseek、rewind 读/写:fputc、fgetc、fputs、fgets、 fprintf、fscanf、fw

C二级参考资料

文件

基本概念

·文件类型—文本文件/二进制文件、文件指针 ·文件的打开和关闭 ·定位 ·文件的读/写 ·常用的库函数: 打开和关闭:fopen、fclose 文件结束判断:feof() 定位:fseek、rewind 读/写:fputc、fgetc、fputs、fgets、 fprintf、fscanf、fwrite、fread等

理解

文件操作

掌握

常用库函数

理解

2012-9-6

C二级参考资料

I/O设备输入设备 – 键盘、鼠标 – 软盘、硬盘(以文件的形式) – 串行口、并行口、USB接口、网络端口 – 扫描仪、视频采集卡、电视卡、游戏杆、话筒 – …… 输出设备 – 显示器、打印机 – 软盘、硬盘(以文件的形式) – 串行口、并行口、USB接口、网络端口 – 音箱 – …… 单纯的输入设备或者单纯的输出设备越来越少 2012-9-6 2

C二级参考资料

标准输入输出字符界面的操作系统一般都提供标准输入与输出设备 – DOS、Linux、Unix…… 一般情况,标准输入就是键盘,标准输出就是终端显 示器 – 操作系统有能力重定向标准输入与输出,比如让文件作为

标准输入(标准输出) – 这种重定向程序本身是感觉不到的

自来水厂

2012-9-6

C二级参考资料

流(Stream)水流 – “子在川上曰:逝者如斯夫” 计算机中的流的概念 – 一般称为数据流,也有叫做字节流、比特流的,还有很

具体的文件流、视频流、音频流等

时光不能倒流,但计算机中的很多流都是会倒流的 – 如果你想重新读已经读过的数据,或者要修改已经写入的数据,可以发出流控(Flow Control)命令 – 不会倒流的数据流也很多,例如网络上的数据流。网络 和数据线等介质只有很小的数据缓冲区,没有大量存储 的能力4

2012-9-6

C二级参考资料

文件(File)的概念计算机的内存容易健忘,所以数据必须保存在硬 盘、软盘、光盘和磁带等“不健忘”的外存上 这些能大量、永久保存信息的媒介,一般都以文件 的形式给用户及应用程序使用 文件 – 一般指存储在外部介质上具有名字(文件名)的一组相关

数据的集合 – 用文件可长期保存数据,并实现数据共享

程序中的文件 – 在程序运行时由程序在磁盘上建立一个文件,并通过写

操作将数据存入该文件; – 或由程序打开磁盘上的某个已有文件,并通过读操作将文 件中的数据读入内存供程序使用5

2012-9-6

C二级参考资料

文件的存放

可以建立若干目录(文件夹), 在目录里保存文件,同一级目录 里保存的文件不能同名。 对使用者而言,只要知道文件的 路径(全目录)和文件名,就能 使用该文件 – C:\home\Sunner\main.c – 这都是托OS的福

2012-9-6

C二级参考资料

文件的类型

二进制文件 – 是一种字节序列,没有字符变换 – 按照数据在内存中的存储

形式存储到文件 – 如整数127,在内存占2个字节,为0000000001111111,则文件中也存储为 0000000001111111,占2个字节

文本文件/ASCII码文件 – 是一种字符序列 – 文件中存储每个字符的ASCII码 – 如整数127在文件中占3个字节,分别存放这3个字符的ASCII码,即49,50,55

2012-9-6

C二级参考资料

文件的格式数据必须按照存入的类型读出,才能恢复其本来面貌 公开的标准格式 – 如bmp、tif、gif、jpg和mp3等类型的文件 ,有大量软件

能生成和使用这些类型的文件

也有不公开、甚至加密的文件格式 – 如Microsoft Word的doc格式就不公开,所以至今还没有Word以外的其它软件能完美地读出doc文件

2012-9-6

C二级参考资料

文件访问

基本模式 – open:打开文件

获得对此文件的指针、引用和句柄等,以证明可以使用此文件

– read:读文件参数一般指明要读多少字节,读到哪块内存。 每次调用此功能,都是接着上次调用的结束位置读(所以是个输入流)

– write:写文件参数一般指明把哪块内存的内容写入文件,要写多少字节。 每次调用此功能,都是接着上次调用的结束位置写 (所以是个输出流)

– close:关闭文件表明操作结束,不再使用此文件。 文件使用完毕必须关闭,否则影响系统性能

– seek:文件定位

随机控制流的当前位置9

2012-9-6

C二级参考资料

C语言独特的文件访问

下面介绍的函数均定义在<stdio.h>中FILE *fopen(const char *filename, const char *mode); – FILE *fp = fopen("C:\\CONFIG.SYS", "rw"); filename是文件名 – 包含路径。如果不含路径,表示打开当前目录下的文件 mode是打开方式 – 常用为"r"、"w"、"rw"和"a",分别表示只读、只写、读写和添加 – "rb"表示只读二进制文件 返回值为指向此文件的指针,留待以后使用 – 如果打开失败,返回值为NULL

2012-9-6

int fclose(FILE *fp);

C二级参考资料

文件指针(File Pointer)

FILE *fp ; – 是FILE型指针变量 – 标识一个特定的磁盘文件

typedef struct { short level; /*缓冲区‘满’或‘空’的程度*/ unsigned flags; /*文件状态标志*/ char fd; /*文件描述符*/ unsigned char hold; /*如无缓冲区不读字符*/ short bsize; /*缓冲区的大小*/ unsigned char *buffer;/*数据缓冲区的位置*/ unsigned char *curp; /*指针当前的指向*/ unsigned istemp; /*临时文件指示器*/ short token; /*用于有效性检查*/ }FILE; 2012-9-6 在stdio.h文件中定义 11

C二级参考资料

C语言独特的文件访问字符读写 int fgetc(FILE *fp); – 从fp读出一个字符并返回 – 若读到文件尾,则返回EOF

int fputc(int c, FILE *fp); – 向fp输出字符c – 若写入错误,则返回EOF,否则返回c

2012-9-6

C二级参考资料

C语言独特的文件访问字符串读写

char *fgets(char *s,int n,FILE *fp); – 特例 – fgets(buf, sizeof(buf), stdin);

int fputs(const char *s, FILE *fp);

2012-9-6

C二级参考资料

C语言独特的文件访问格式化读写 int fscanf(FILE *fp, const char *format, ...); – fscanf(fp, "%d,%6.2f", &i, &t);

int fprintf(FILE *fp, const char *format, ...); – fprintf(fp, "%d,%6.2f", i, t);14

2012-9-6

C二级参考资料

C语言独特的文件访问

按数据块读写unsigned fread(void *ptr, unsigned size, unsigned nmemb, FILE *fp); – 从fp读数据块到ptr – size是每个数据块的大小 – nmemb是最多允许写的数据块个数 – 返回实际读到的数据块个数 unsigned fwrite(const void *ptr, unsigned size, unsigned nmemb, FILE *fp); – 把ptr指向的数据块写入fp15

2012-9-6

C二级参考资料

C语言独特的文件访问

文件定位,用于文件的随机读写 – 打开的文件中有一个位置指针指示当前读写位置 – 对文件每进行一次顺序读写,文件 …… 此处隐藏:2118字,全部文档内容请下载后查看。喜欢就下载吧 ……

C语言二级辅导(文件操作ppt).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1581021.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)