文件的操作
一、文件的概念
“文件”指存储在外部介质上数据的集合,这个数据集合有一个名称,叫做文件名
计算机存储分为2块:1. 内存(内部存储) 2. 硬盘(外部存储、外部介质)
二、文件的分类
1. 从用户的角度看,文件可以分为普通文件和设备文件
2. 从文件编码方式来看,文件可以分为ASCII码文件和二进制码文件两种,ASCII码文件也称为文本文件,二进制码文件是按二进制的编码方式来存放文件的
三、文件操作的步骤及原理
(1)文件的操作步骤
1. 引入头文件 stdio.h
2. 定义文件指针
3. 打开文件
4. 文件读写
5. 关闭文件
(2)对文件的读和写是最常用的文件操作,在C语言中提供了多种文件读写的函数
字符读写函数:fgetc( )函数和fputc( )函数
字符串读写函数:fgets( )函数和fputs( )函数
数据块读写函数:fread( )函数和fwrite( )函数
格式化读写函数:fscanf( )函数和fprintf( )函数
(3)文件操作原理
1. 文件缓冲流
2. 文件输出流
C语言文件指针
一、C语言文件指针
在C语言中用一个指针变量指向一个文件,这个指针称为文件指针
定义说明文件指针的一般形式为:
FILE *指针变量标示符;
其中FILE应为大写,它实际上是由系统定义的一个结构体,该结构体中含有文件名、文件状态和文件当前位置等信息
例:FILE *fp;
二、文件的打开和关闭
(1)文件的打开函数(fopen( )函数)
1. fopen( )函数用来打开一个文件,其调用的一般形式为:
文件指针变量名 = fopen(文件名,使用文件方式);
其中:
“文件指针变量名”必须是FILE类型的指针变量
“文件名”是被打开文件的文件名
“使用文件方式”是指文件的类型和操作要求
“文件名”是字符串常量或字符串数组
2. 打开文件的代码实现:
// 定义文件指针
FILE *fp = NULL;
// 打开文件
// 如果打开文件成功,返回文件的首地址;如果打开文件失败,返回NULL
fp = fopen("a.txt", "r"); // r表示只读
// 其意义是在当前目录下打开文件a.txt,只允许进行“读”操作,并使用fp指向该文件
(2)文件的关闭函数(fclose( )函数)
1. 文件一旦使用完毕,应当使用关闭文件函数把当前文件关闭,以避免文件的数据丢失等错误
2. fclose( )函数调用的一般形式是:
fclose( 文件指针);
例:
// 关闭文件
fclose(fp);
3. 正常完成关闭文件函数操作时,fclose( )函数返回值为0,如返回非零值,则表示有错误发生
4. 注意: 如果文件写操作时,没有进行文件关闭,可能会导致文件写入失败
(3)打开文件和关闭文件操作的代码实现