第11章 C语言文件
第11章 文件;一、文件
1、文件是存储在外存储器上信息的集合。
2、每个文件有唯一的名称(文件名.扩展名)来标识。计算机通过名称对文件进行读、写、修改或删除等操作。
3、文件可以从不同的角度进行分类,例如按照文件保存的内容区分,磁盘文件可以分为程序文件和数据文件。; 1、字符文件:也称文本文件或正文文件,其数据以字符的形式出现,每个字符用一个 ASCII 代码(占一个字节)表示。
2、二进制文件:以数据在内存中的形式原样存于磁盘。
在Turbo C中,二进制文件中,整型数用2个字节表示,长整型用4个字节表示,实型数(浮点数)用4个字节,双精度数用8个字节表示。三、标准文件与非标准文件;四、文件存储方式;四种典型的存取方式:
⑴ 顺序存取方式:对文件的记录按顺序进行读或写,一次只能存取一个任意指定的记录。
⑵ 随机存取方式:一次能存取一个任意指定的记录。
⑶ 随机块存取方式:从某个指定记录开始对指定数目的记录一次完成存取操作的方式。
⑷ 文件代号存取方式:是指不使用文件名而使用操作系统将为该文件指定的一个文件代号对该文件进行操作。; 1、每个被使用的文件都在内存中开辟一个区,用来存放文件的有关信息。这些信息是保存在一个结构体类型的变量中。该结构体类型是由系统定义的,取名为FILE。
2、标准文件系统借助FILE数据结构对文件进行管理,利用文件指针读写文件。每当程序成功打开一个文件,系统就在内存建立一个与该文件对应的FILE结构体变量,并返回该变量的指针(地址)。
;3、在程序中使用 FILE * fp ;定义一个指针变量,用以保存已打开文件所对应的FILE结构在内存的地址,此后用户程序就可用此FILE指针来实现对指定文件的存取操作。 ;;4、说明:
⑴ 用“r”方式打开的文件应该已经存在;
⑵ 用“w”方式打开的文件,如果不存在该文件,则新建立一个,如果存在该文件,则在打开时将该文件删去,然后重新建立一个新文件;
⑶ 如果希望向文件末尾添加新的数据(不希望删除原有数据),则应该用“a”方式打开;
⑷ 用“r+”??”w+”、”a+”方式打开的文件可以用来输入和输出数据;
⑸ 如果不能实现“打开”的任务, fopen函数的返回值是一个NULL空指针。 ;11.2.3 关闭标准文件 ;;3、格式化读写函数 fscanf和fprintf
形式: fscanf(fp , format , varlist);
fprintf(fp , format , varlist);
说明:fp为文件指针,format为格式控制字符串,
varlist为输入输出列表。 ;;⑷ 关闭文件(fclose)。;例1 编程实现读出磁盘文件 datafile.txt 中的内容,将它们显示在屏幕上。 ;文件中有一个位置指针,指向当前读写的位置。我们可以使用有关函数来改变其位置,以完成文件的随机读写。;例如:
fseek(fp,10L,0);把文件指针从文件开头移到第10个字节处。
fseek(fp,-5L,1); 把文件指针从现行位置往回移动 5 个字节。
fseek(fp,-20L,2); 把文件指针从文件尾向前移动 20 个字节 。 ;rewind()函数:
调用形式为:rewind(文件类型指针)
函数的作用:用于把文件指针移到文件的开头。移动成功时,返回值为0,否则返回一个非零值。;2、文件随机读写函数; 例如 fwrite(buffer,16,64,fp);
?表示从数组名 buffer 所代表的数组起始地址开始,每次输出长度为16个字节的数据项,共输出64个数据项,将它们写入到由fp指定的磁盘文件中。若写入成功,函数返回值为64。
注意,用fread()和fwrite()函数进行读写时,必须采用二进制。; 非标准文件输入输出操作不使用FILE数据结构。它一般用于二进制文件,并且只有一种文件读写方法,即成块读写二进制数据。它也不需要文件指针变量,不能读写单个字符、字符串和格式化数据。系统不自动设置缓冲区,因此需要编程者根据需要在程序中安排设置缓冲区。
Turbo C 使用的非标准文件函数的原型定义在 io.h 头文件中。
对非标准文件进行写操作时,应使用建立文件函数建立新文件。 ;11.3.1 建立非标准文件 ;1、文件的打开(open)函数
形式: open(文件名, 文件操作代码符号);
例如: open(“datafile.dat“,O-RDONLY | O-BI
您可能关注的文档
最近下载
- 2025年一级建造师风险登记册在项目全生命周期中的应用专题试卷及解析.pdf VIP
- 《美学原理概要》课件.ppt VIP
- 2025年演出经纪人演出项目融资退出机制设计与法律安排专题试卷及解析.pdf VIP
- 2025年互联网营销师文案的“网感”与“社交货币”打造专题试卷及解析.pdf VIP
- 2025年演出经纪人演出经纪法律责任与权利义务边界专题试卷及解析.pdf VIP
- 基于联邦学习的跨机构医疗数据协作研究框架.pdf VIP
- 股份公司境外公司管理办法.doc VIP
- 2026苏教版高考化学一轮复习第30讲 有机物推断与合成(学用).doc
- 职业道德考试及答案.doc VIP
- 工勤职业道德考试及答案.doc VIP
原创力文档

文档评论(0)