第9章文件 ·65 第9章文件 9.1ASC11码文件的存取 1.fopen()函数 对文件的各种操作都要涉及到文件指针。进行文件操作,必须加上 tdio.h 并对文件指针进行说明: FILE *fp: 对文件操作时,应先打开文件取得文件指针。fopen()函数的功能是打开指定的文件并 返回该文件指针。其一般调用格式是: FILE *fp Fp-fopen(文件名,模式), 其中,模式有 “r”一一读 “”一一插入 如果该文件不存在,就不能为读或插入而打开文件,将返回空指针(NULL)。如果为 写打开文件,已存的文件将被重写(覆盖原有的内容),要是文件不存在,将建立新文件以 便写入。若磁盘空间已满,则无法写入,将返回空指针(NULL)。 FILE *fp. If((fp-fopen("test"r))-NULL puts("Cannot open the file"); Exit(0): 2.fclose0函数 一般来说,计算机系统能允许同时打开的文件数量是有限的,所以应当关闭当前暂时 不用的文件,fcos0函数的功能就是关闭指定的文件,调用格式为 fclose(fp) 其中,印为指向要关闭的文件的指针。 3gtc0和putc0 g©)和puc0分别是对指定的文件进行单个字符的读写操作,需要以文件指针作为参 数。 一般调用格式为 FILE *infp; char ch; ch-getc(infp). 摩从指定的文件中读取一个字符*/
第 9 章文件 ·65· 第 9 章文件 9.1 ASCII 码文件的存取 1.fopen()函数 对文件的各种操作都要涉及到文件指针。进行文件操作,必须加上: #include <stdio.h> 并对文件指针进行说明: FILE *fp; 对文件操作时,应先打开文件取得文件指针。 fopen()函数的功能是打开指定的文件并 返回该文件指针。其一般调用格式是: FILE *fp; Fp=fopen(文件名,模式); 其中,模式有 “r”—— 读 “w”—— 写 “a ”—— 插入 如果该文件不存在,就不能为读或插入而打开文件,将返回空指针(NULL)。如果为 写打开文件,已存的文件将被重写(覆盖原有的内容),要是文件不存在,将建立新文件以 便写入。若磁盘空间已满,则无法写入,将返回空指针(NULL)。 例; FILE *fp; If ((fp=fopen(“test”,”r”))==NULL{ puts(“Cannot open the file”); Exit(0); } 2. fclose()函数 一般来说, 计算机系统能允许同时打开的文件数量是有限的, 所以应当关闭当前暂时 不用的文件, fclose()函数的功能就是关闭指定的文件,调用格式为: fclose(fp) 其中, fp 为指向要关闭的文件的指针。 3.getc()和 putc() getc()和 putc()分别是对指定的文件进行单个字符的读写操作,需要以文件指针作为参 数。一般调用格式为: FILE *infp ; char ch; ch=getc(infp); /*从指定的文件中读取一个字符*/
C程序设计要点分析与题解 FILE *outfp char ch; putc(ch,outp;/P向指定的文件中写入一个字符/ 9.2二进制文件的存取 二进制文件比ASC文件少占磁盘空间,处理速度快,但文件不能直接显示出来。 1.open0函数 与ASC文件相似,对文件操作时应先打开文件取得文件指针。只是模式不同。其 般调用格式是: FILE *fp: -fopen(文件名,模式) 其中,模式有 “rb” 一一读二进制代码 “wb” 写二进制代码 “b”一一插入二进制代码 要是该文件不存在,就不能为读或插入而打开文件,返同空指针(N几L)。如果为写 打开文件,己存的文件将被重写(覆盖原有的内容),若文件不存在,将建立新文件以便写 入。如果磁盘空间已满,无法写入返回空指针(NULL)。 2.fclose()函数 与ASCI文件一样,应当关闭当前暂时不用的文件,fosO函数的功能就是关闭指定的 文件,调用格式为: fclose(fp) 其中,印为指向要关闭的文件的指针 3.fread()和fwrite) 这两个文件操作函数实现内存缓冲区与文件之间指定数量的二进制数据的传递,因此需 指定缓冲区和文件的指针,及读或写的数据量。一般调用格式: fread(buffer,bn.dn.fp) fwrite(buffer.bn.dn.fp). 其中: buffer为指向缓冲区指针(应事先定义类型): bn为每一个数据项所包含的字节数: d加为每一次读写操作的数据项数: 印为打开文件的指针
C 程序设计要点分析与题解 或 FILE *outfp ; char ch; putc(ch,outfp); /*向指定的文件中写入一个字符*/ 9.2 二进制文件的存取 二进制文件比 ASCII 文件少占磁盘空间, 处理速度快, 但文件不能直接显示出来。 1.open()函数 与 ASCII 文件相似,对文件操作时应先打开文件取得文件指针。 只是模式不同。其一 般调用格式是: FILE *fp; Fp=fopen(文件名,模式); 其中,模式有 “rb”—— 读二进制代码 “wb”—— 写二进制代码 “ab ”—— 插入二进制代码 要是该文件不存在,就不能为读或插入而打开文件,返回空指针(NULL)。如果为写 打开文件,已存的文件将被重写(覆盖原有的内容),若文件不存在,将建立新文件以便写 入。如果磁盘空间已满,无法写入返回空指针(NULL)。 2. fclose()函数 与 ASCII 文件一样,应当关闭当前暂时不用的文件, fclose()函数的功能就是关闭指定的 文件,调用格式为: fclose(fp) 其中, fp 为指向要关闭的文件的指针。 3.fread()和 fwrite() 这两个文件操作函数实现内存缓冲区与文件之间指定数量的二进制数据的传递,因此需 指定缓冲区和文件的指针,及读或写的数据量。一般调用格式: fread(buffer,bn,dn,fp); fwrite(buffer,bn,dn,fp); 其中: buffer 为指向缓冲区指针(应事先定义类型); bn 为每一个数据项所包含的字节数; dn 为每一次读写操作的数据项数; fp 为打开文件的指针