C语言 第12章文件操作.ppt
文本预览下载声明
第十二章 文件操作 学习目标 课程内容 12.1 概述 1.什么是文件? 文件:存储在外部存储介质上相关数据的集合。 例如:程序文件中保存着程序,数据文件中保存着数据。 *.C C语言的源程序 文本文件 *.OBJ 目标文件 二进制文件 *.EXE 可执行文件 二进制文件 2.文件的存储特性 文件是一个有序的数据序列。C语言把文件作为一个字符(字节)序列处理,对文件的存取是以字符(字节)为单位进行的。 3.文件的分类 按文件存储数据的形式 ASCII文件(或称文本文件) 以ASCII码或者其他文字语言的交换编码存储的文件,可以直接在屏幕或者打印机输出为人们识别的信息。此种存储形式便于输出显示。 二进制文件 数据是按照在内存中的二进制存储格式存放的,此种存储形式节省存储单元。不能直接在屏幕或者打印机输出人们可识别的信息。 例如将整数1949分别存储在这两种数据文件中。 4.操作文件的一般步骤 打开文件 ? 读写文件 ? 关闭文件 12.2 文件句柄与文件打开、关闭 1.文件句柄(FILE) 每个被使用的文件都在内存中开辟一个区,用来存放文件的有关信息(如文件名,状态,当前位置等)。这些信息保存在一个结构体类型的变量中。结构体类型由系统定义为“FILE”。 2.文件句柄变量的定义 说明: 定义文件指针变量时,必须使用“FILE”类型,而且必须是大写。 “FILE”是一个保存文件有关信息(如文件名、文件状态等)的结构体变量。 应用举例 定义两个文件指针变量: FILE *fp1,fp2; FILE *fp; 用法: 文件打开时,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件 文件关闭后,它的文件结构体被释放 3.文件打开函数fopen( ) 常用的调用形式: FILE *fp; fp = fopen(文件名, 文件使用方式); 文件名:需要打开的文件名称(字符串) 。 文件使用方式:是具有特定含义的符号。 函数功能: 按指定的文件使用方式打开指定的文件。 若文件打开成功,为该文件分配一个文件缓冲区和一个FILE类型变量,返回一个FILE类型指针; 若文件打开失败,返回NULL。 4.文件关闭函数fclose() 常用的调用形式 FILE *fp; fclose( fp ); fp:已经打开的文件指针。 函数功能 关闭fp指定的文件,释放该文件的缓冲区、 FILE类型变量及文件指针。 若文件关闭成功,则返回0; 若文件关闭失败,则返回非0值。 12.3 文本文件的操作 对文本文件的操作,主要是读写操作,必须按文件中字符的先后顺序进行,只能在操作了第i个字符之后,才能操作第i+1个字符。 在对文件操作时,文件的读写指针由系统自动向后移动。 通过调用feof函数知道哪里是文件尾。 二进制文件存储信息的形式与内存中存储信息的形式是一致的,如果需要在内存与磁盘文件之间频繁交换数据,最好采用二进制文件。 二进制文件一般是同类型数据集合,数据之间无分隔符,每个数据所占字节数是一个定值,因此二进制文件除了可以顺序存取外,还可运用定位函数方便地进行随机存取。 12.5 标准文件 针对每个程序,系统为我们开了3个标准文件,它们是stdin、stdout、stderr,分别是standard input(标准输入)、standard output(标准输出)、standard error(标准出错)的缩写。 文件stdin是程序可以读取其输入的位置,缺省情况下,进程从键盘读取。 stdout是程序写入其输出的位置,除非将其定向到其他地方,否则标准输出通常出现在显示器上。 stderr是程序发出错误和特殊消息的地方,除非将其定向到其他地方,否则标准错误通常出现在显示器上。 12.5 标准文件 标准文件是外部设备中的三个特殊的设备文件。它们的文件指针是系统定义的,并由系统自动打开和关闭。这三个标准文件分别是: 标准输入文件,文件指针为stdin,系统指定为键盘。 标准输出文件,文件指针为stdout,系统指定为显示器。 标准错误输出文件,文件指针为stderr,系统指定为显示器,输出错误信息。 12.6 其他文件操作函数 除了前面的文件操作函数外,C标准库还提供了其他的文件操作函数。 功能: 将文件读写指针从whence标识的位置移动offset个字节,并将文件结束指示器清0。 若移动成功,返回0; 若移动失败,则返回非0值。 常量标识符 值 起始位置 SEEK_SET 0 文件开始位置
显示全部