第10章_文件PPT课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2021/4/6
程序设计基础(C语言)wh
14
例 输入5行字符,将其写入到C盘根目录的ex10-1.txt文件中。
计算机操作系统就是根据文件名对文件进行各种操 作。
2021/4/6
程序设计基础(C语言)wh
3
1.文本文件与二进制文件
在C语言中,根据文件中数据的存储形式,文件 一般分为文本文件和二进制文件两种。
文本文件又称为ASCII文件,在这种文件中,每个 字节存放一个字符的ASCII码值。
二进制文件中数据的存储形式与该数据在内存中 的存储形式是一致的,即采用该数据的二进制形 式存储。
打开文件操作是将文件的内容从磁盘上读到内存缓 冲区中,实际上是建立文件的各种有关信息,并使 文件指针指向该文件,以备对其进行操作。
文件打开函数fopen() 文件指针名=fopen(文件名,使用文件方式);
例如,以读方式打开一个名为myfirst.txt的文件,格式 如下:
FILE *fp;
fp=fopen("myfirst.txt", "r");
2021/4/6
程序设计基础(C语言)wh
4
例如:整数1234
文本文件形式
‘1’的ASCII码 ‘2’的ASCII码‘3’的ASCII码‘4’的ASCII码
二进制文件形式
1234的二进制数
2021/4/6
程序设计基础(C语言)wh
5
2.缓冲区文件系统
所谓缓冲区文件系统是指操作系统自动地在用户内 存区中为每一个正在被使用的文件划出一片存储单 元,即开辟一个缓冲区。当向外存储器中的文件写 数据时,先向该文件开辟的缓冲区中写,缓冲区写 满后,才向外存储器一次写入。当需要从外存储器 中的文件读入数据进行处理时,也首先读入一批数 据到缓冲区(将缓冲区充满),然后再从缓冲区中 将数据逐个读出送到内存储器工作区进行处理。
2021/4/6
程序设计基础(C语言)wh
6
3.文件类型指针
在设有缓冲区的文件系统中,每个被使用的文件都 要在内存中开辟一个区域,用来存放与文件有关的 信息。这些信息保存在一个结构体变量中,这个结 构在stdio.h文件中声明,C语言将该结构体类型定 义为FILE(注意,是英文大写字符),简称文件类 型。
2021/4/6
程序设计基础(C语言)wh
11
文件使用完后,为确保文件中的数据不丢失,就要 使用文件关闭函数fclose()进行关闭,其功能是将使 用完后的文件写回到磁盘。
fclose(文件指针变量);
fclose(fp);
2021/4/6
程序设计基础(C语言)wh
12
10.2.2 文件的读写
针对字符的读写函数:fgetc()函数和fputc()函数 针对字符串的读写函数:fgets()函数和fputs()函数 针对数据块的读写函数:fread()函数和fwrite()函数 格式化的读写函数:fscanf()函数和fprintf()函数 文件随机读写函数:fseek()函数和rewind()函数和
ftell( )函数
2021/4/6
程序设计基础(C语言)wh
13
1.字符读写函数fgetc()和fputc()
(1) fputc()函数 格式:fputc(ch, fp); 功能:用来将一个字符写入到文件中。
(1) fgetc()函数 格式:ch = fgetc(fp); 功能:用来从指定的文本文件中读取一个字符。
1. 以“r”的方式打开当前目录 下的“myfirst.txt”文件,并 把返回的指针赋值给指针变 量fp;
2. 若返回的是空指针NULL, 则说明打开失败,需要退出 程序。因此,如果fopen函数 返回的指针为空,表示不能 打开当前目录下的文件给出 提示信息。
3. 用户敲键盘后执行exit(0)退出 程序。
2021/4/6
程序设计基础(C语言)wh
8
返回值: FILE类型指针----成功
NULL ----失败
fopen()函数的返回值应赋给一个FILE指针变量, 否则,此函数的返回值就会丢失,导致无法对此文件 进行操作。
文件打开函数的调用给编译系统的三个信息:
1. 需要打开的文件名; 2. 使用文件的操作方式; 3 .让哪一个指针变量指向被打开的文件。
2021/4/6
程序设计基础(C语言)wh
9
文件打开方式
打开方式
“r” “w”
含义及说明
以只读方式打开一个文本文件,只允许读数据 以只读方式打开或建立一个文本文件,并在文件末尾写数据
“r+” “w+” “a+” “rb” “wb” “ab” “rb+” “wb+” “ab+”
2021/4/6
以追加方式打开一个文本文件,并在文件末尾Leabharlann Baidu数据
第十章
文件
2021/4/6
程序设计基础(C语言)wh
1
❖10.1 文件的基本概念 ❖10.2 文件的基本操作 ❖12.3 程序设计举例
2021/4/6
程序设计基础(C语言)wh
2
10.1 文件的基本概念
文件是数据的组织形式,是存放在外部存储介质上 相关数据的集合
每个文件都有一个名字,称为文件名,而且存储在 一个称之为文件夹的目录中,这个名字是唯一的。
以写方式打开一个文件,允许读和写
以读写方式打开一个文本文件,允许读,
以只读方式打开一个二进制文件,只允许读数据
以只读方式打开或建立一个二进制文件,只允许写数据
以追加方式打开一个二进制文件,并在文件末尾写数据
以读写方式打开一个二进制文件,允许读和写
以读写方式打开或建立一个二进制文件,允许读和写
以读写方式打开一个二进制文件,允许读,或在文件末追加
利用FILE类型可以定义FILE类型的变量来保存文件 的信息。在C语言程序中FILE类型的变量是由打开 文件的fopen函数建立,用fclose函数清除,编程者 不直接定义FILE类型的变量,而是定义一个文件类 型的指针。
2021/4/6
程序设计基础(C语言)wh
7
10.2 文件的基本操作
10.2.1 文件的打开与关闭
数据
程序设计基础(C语言)wh
10
#include <stdio.h> void main() { FILE *fp;
fp=fopen("myfirst.txt","r"); if(fp == NULL) {
printf("’t open!\n"); getchar(); exit(0); } }