深入理解文件操作:从基础到实践
1. 数据文件概述
数据文件是存储在某种存储介质中的一系列字节。它可以存于硬盘、可刻录的 DVD 或 CD、闪存、文件服务器,甚至是 iPod 中。例如,iTunes 应用程序由一系列文件组成,包括实际的可执行文件、偏好设置文件和所有歌曲文件。常用的文字处理器以及用它创建的每个文档也都以文件形式存在。
所有文件都有一些共同特征:
- 都驻留在文件系统中。
- 每个文件都有名称。
- 文件有大小,以字节为单位衡量。例如,DVDTracker 项目中的 main.c 文件约有 4000 字节,而 iTunes 中的高清电视电影可能占用数十亿字节。
2. 文件基础
文件由连续的字节流组成,其字节组织方式与内存中的字符数组非常相似。文件中的每个字节都有一个地址,称为偏移量或位置。文件的第一个字节偏移量总是 0,最后一个字节的偏移量是文件长度减 1,文件最后一个字节之后的位置称为文件结束(EOF)位置。
要访问文件中的数据,需按以下步骤操作:
1. 使用标准库函数 fopen()
打开文件。其函数原型为 FILE *fopen( const char *name, const char *mode );
2. 文件打开后,可使用 fgets()
、 fscanf()
和 fprintf()
等标准库函数从文件读取数据或向文件写入新数据。
3. 完成文件操作后,使用 fclose()