C程序设计:文件的输入输出

时间:2026-01-14

复旦大学C程序设计教材

第8章 数据文件处理技术8.1 文件类型和文件类型指针变量8.2 常用的数据文件库函数 8.3 文件处理程序结构

8.4 文件处理程序实例

复旦大学C程序设计教材

8.1 文件类型和文件类型指针变量所谓“文件”是指,存储在计算机外部存储介质上数据 的集合。操作系统是以文件名的方式对数据进行访问与组织 的。 C语言把文件看作是一个字符(字节)的序列,即由一 个一个字符的数据顺序组成。 根据数据的组织形式,可将文件分为两种:正文文件和 二进制文件。

正文文件以字符的形式存储数据信息,文件中的信息可以被分成 一个个字符,存储的是字符的代码。 2

复旦大学C程序设计教材

文件类型二进制文件把数据按其在内存中的形式存储在文件中,信息在文件 中的表示形式与在计算机内存中的表示形式完全一样,文件 中的数据信息可以被分成一个个字节,但通常是由若干字节 构成一个有意义的数据信息。例如,由4个字节信息构成一个 整数。

正文文件与二进制文件的区别1. 存储数值型数据的形式不同。例如:整数10000 在内存中用 4个字节表示,保存到正文文件中要占5个字节;保存到二进 制文件中只占4个字节。 2. 正文文件的数据是字符,便于阅读。但二进制文件中的信 息难以理解。 3

复旦大学C程序设计教材

程序与文件交换数据的实现过程缓冲区操作系统为能高效地管理和控制设备,给程序正在使用 的每个文件在内存中开辟一个适当大小的缓冲区。 程序要从文件读入一些信息时,系统先一次性地读入足 够多的信息存于缓冲区中,供程序一部分一部分地使用。 程序要写信息到文件时,也先把信息写到缓冲区中,待 缓冲区写满或写文件结束时,才把缓冲区中的内容写到文件 中。 程序要读写文件中的数据,首先打开要读写的文件(写文 件时可能要新建文件),然后才能对该文件读写数据,并在使 用结束时关闭文件。 4

复旦大学C程序设计教材

文件类型指针变量文件类型 FILE用于存放有关对文件进行操作所需的控制信息结构,如 文件名、文件读写状态、文件缓冲区大小和位置、当前读写 位置等。文件类型由系统预定义。

文件类型指针变量

FILE *fp;

程序在使用文件前,先调用打开函数。打开函数为文件 指定一个FILE类型的结构,并返回该结构的指针。系统通过 指向该结构的指针才能正确读写文件。 有了文件指针变量,使得C程序能找到与它对应的文件。 在程序中若要访问n个文件,一般应设n个文件指针变量。 5

复旦大学C程序设计教材

8.2 常用的数据文件库函数1.文件打开函数 fopen()形式:fopen (文件名, 使用方式) 功能:分配一个存放文件控制信息的结构,并返回这个结构 的指针。 其中:文件名(包括目录路径)为字符串表达式。 函数返回

值:如果打开成功,函数返回文件指针;打开不成 功,返回NULL。 例如:fp = fopen("\\usr4\\smp.dat", "w"); 表示:以写方式打开根目录下的usr4子目录中的 smp.dat 文件。第1个\为 转义字符

复旦大学C程序设计教材

1. 文件打开函数

fopen()

可能会因某种原因不能打开文件。例如,读文件方式打开 一个不存在的文件;在写文件方式下,外部存储介质无剩余 的自由空间,或外设故障;或超过系统能同时打开的文件数 等。 文件不能打开时,函数fopen()将返回空指针值NULL。程 序应考虑到文件不能正常打开的极端情况,应用以下形式的 代码描述打开一个文件的要求: if ((fp = fopen(fname, "r")) == NULL) { printf("不能打开文件 %s。\n", fname); return; } 7

复旦大学C程序设计教材

表8-1 文件使用方式文件使用方式"r" "w" "a" "rb" "wb" "ab" "r+" "w+" "a+"

只读,为读打开正文文件 只写,为写打开正文文件 追加,从正文文件尾开始写 只读,为读打开二进制文件 只写,为写打开二进制文件 追加,从二进制文件尾开始写 读写,为读/写打开正文文件 读写,为读/写建立并打开新的正文文件 读写,为读/写打开正文文件 8

复旦大学C程序设计教材

2. 文件关闭函数 fclose()形式:fclose (fp) 功能:使文件指针变量fp终止原先调用函数 fopen() 时所建 立的与文件的联系。 函数返回值:如果关闭成功,函数返回0;如果检测到错误, 返回EOF (在stdio.h文件中定义为 –1)。 例如:fclose (fp); 说明: 1. 文件被关闭后,不能再通过该文件指针变量对其原先相连 的文件进行读写操作,除非被再次打开。 2. 文件被关闭后,原文件指针变量又可用来打开其他文件, 与其他文件建立新的相联系。 9

复旦大学C程序设计教材

3. 从文件读一个字符函数fgetc()形式:fgetc (fp) 功能:从文件指针 fp 指向的文件读入一个字符(类似于 getchar函数)。

函数返回值:读入成功,返回读入的字符;读入时遇到文件 结束,则返回文件结束标记EOF。例如:ch = fgetc(fp);

表示:从 fp 所指文件读入一个字符存于变量 ch。

复旦大学C程序设计教材

4. 写一个字符到文件函数fputc()形式:fputc (ch, fp) 功能:将 ch 中的字符输出到文 …… 此处隐藏:1641字,全部文档内容请下载后查看。喜欢就下载吧 ……

C程序设计:文件的输入输出.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:4.9 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:19元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219