欢迎来到天天文库
浏览记录
ID:44960601
大小:75.50 KB
页数:17页
时间:2019-11-06
《第9章++文++++件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第9章文件内容提要本章主要介绍如何用C语言编译系统提供的文件操作函数建立和使用存储在外部介质上的数据文件,包括文本文件和二进制文件的读写、顺序文件和随机文件的创建和使用。文件概述数据文件是程序设计中的一个重要概念,是实现程序和数据分离的重要方式。1.文件的逻辑结构2.文件的存取方式3.文件操作的步骤文件的打开与关闭1.文件指针(1)定义文件指针的格式如下:FILE*fp1,*fp2;这样,fp1和fp2就成为文件指针,由fopen()函数可将它们指向指定的文件。2.打开文件(1)打开文件要用库函数fopen(),其调用的一般格式如下:FILE*fp;
2、fp=fopen(fname,mode);文件使用方式使用方式含义使用方式含义"r"打开文本文件,只读"r+b"打开二进制文件,读、覆盖写"w"建立文本文件,只写"w+b"打开二进制文件,先写后读"a"打开文本文件,追加"a+b"打开二进制文件,读、追加"rb"打开二进制文件,只读"rt"打开文本文件,只读"wb"建立二进制文件,只写"wt"打开文本文件,只写"ab"打开二进制文件,读、追加"at"打开文本文件,追加"r+"打开文本文件,读、覆盖写"r+t"打开文本文件,读、覆盖写"w+"打开文本文件,先写后读"w+t"打开文本文件,先写后读"a+"
3、打开文本文件,读、追加"a+t"打开文本文件,读、追加关闭文件文件操作完毕,应用fclose()函数将文件关闭,以保证本次文件操作有效。调用格式为:fclose(fp);文件的读写操作一个文件打开后,就可以对该文件进行读写。C语言用编译系统提供的文件输入、输出函数实施文件的读写。这些输入、输出函数往往针对不同的数据对象,采用不同的数据格式。文本文件读写函数二进制文件读写函数文件检测函数文件检测函数用来检测文件指针是否已到文件末尾,或文件读写操作中是否出现错误等情况,以便能正确地进行文件的存取。文件的顺序存取和随机存取文件指针的定位对文件的读写至关重要
4、,因为对文件的任何读写都是在文件指针当前所指的位置上进行的,移动了文件指针直接影响到文件读写的位置。1.文件指针的定位2.文件的顺序存取3.文件的随机存取本章总结本章应重点掌握流式文件、文本文件和二进制文件、顺序文件和随机文件的概念,文件操作的3个步骤,以及文件读写函数、文件指针定位函数在文件操作中的使用。难点是如何组织文件的记录,如何使用配对的文件读写函数存取文本文件和二进制文件,以及如何组织和存取顺序文件和随机文件。本章习题一、选择题1.C语言文件的组成成分是____。A.记录B.数据行C.数据块D.字符(字节)序列2.C语言中,数据文件的存取方
5、式为____。A.只能顺序存取B.只能随机存取(也叫直接存取)C.可以顺序存取和随机存取D.只能从文件的开头进行存取3.在C语言中,用“a”方式打开一个已含有10个字符的文本文件,并写入了5个新字符,则该文件中存放的字符是____。A.新写入的5个字符B.新写入的5个字符覆盖原有字符中的前5个字符,保留原有的后5个字符C.原有的10个字符在前,新写入的5个字符在后D.新写入的5个字符在前,原有的10个字符在后本章习题4.设已正确打开一个已存有数据的文本文件,文件中原有数据为abcdef,新写入的数据为xyz,若文件中的数据变为xyzdef,则该文件打
6、开的方式是____。A.wB.w+C.a+D.r+5.下面的程序执行后,文件test.t中的内容是____。#include#includevoidfun(char*fname,char*st){FILE*myf;inti;myf=fopen(fname,"w");for(i=0;i7、rldhello,C.newworldD.hello,world本章习题6.以下程序将一个名为f1.dat的文本文件的内容追加到一个名为f2.dat文件的末尾,请对程序空白处进行正确的选择。#includemain(){charc;FILE*fp1,*fp2;fp1=fopen("f1.dat","r");fp2=fopen("f2.dat","a");while((c=①)!=EOF)②;fclose(fp1);fclose(fp2);}①A.putc(c,fp2)B.getc(fp2)C.getc(fp1)D.putc(c,fp8、1)②A.putc(c,fp1)B.getc(fp1)C.getc(fp2)D.putc(c,fp2)本章习
7、rldhello,C.newworldD.hello,world本章习题6.以下程序将一个名为f1.dat的文本文件的内容追加到一个名为f2.dat文件的末尾,请对程序空白处进行正确的选择。#includemain(){charc;FILE*fp1,*fp2;fp1=fopen("f1.dat","r");fp2=fopen("f2.dat","a");while((c=①)!=EOF)②;fclose(fp1);fclose(fp2);}①A.putc(c,fp2)B.getc(fp2)C.getc(fp1)D.putc(c,fp
8、1)②A.putc(c,fp1)B.getc(fp1)C.getc(fp2)D.putc(c,fp2)本章习
此文档下载收益归作者所有