第十一章 文件_第1页
第十一章 文件_第2页
第十一章 文件_第3页
第十一章 文件_第4页
第十一章 文件_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第11章文件,文件的概念顺序存取文本随机文件与文件相关的程序示例,文件的概念,“文件”是指存储在外部介质上的由文件名标记的数据集合。文件:(1)的分类可以根据文件的内容分为程序文件和数据文件。前者存储各种程序,如源程序和目标程序,而后者存储程序运行时使用的输入或输出数据。(2)根据存储信息的形式,可分为ASCII文件和二进制文件。前者以ASCII码的形式存储,而后者以存储在计算机中的数据的形式存储。(3)数据文件根据其组织形式可分为顺序文件和随机文件。(4)根据存储介质,文件可分为磁盘文件、磁带文件、光盘文件、打印文件等。序列访问文件的概念简称为序列访问文件。其特点是文件中每条记录的写入、存储和读取顺序是一致的。序列文件中记录的逻辑顺序与物理顺序一致。顺序文件有这个特点:先进先出,后进先出。顺序文件以ASCII码存储数据。顺序文件的OPEN OPEN语句,其中FORmat为:OPEN FOR as # 其中:文件名指待打开的保存文件名的读写方式。可以选择以下三种方法之一:OUTPUT:指定将数据写入文件,即从计算机向文件输出数据。输入:指定向计算机输入数据,即计算机从文件中读取数据。追加:重新归档后打开文件添加数据。OPEN语句的描述,如果OPEN方法是INPUT,并且此时要打开的文件不存在,则该错误将被避免;如果文件以另外两种方式打开,如果文件不存在,则自动创建具有指定文件名的文件;如果以OUTPUT方式打开一个文件,则磁盘中是否存在指定的文件名意味着创建了一个新的数据文件;AS语句后的文件编号可以是1到255之间的任何整数。这个号码实际上是一个缓冲区代码。所有数据输入和输出语句都使用文件编号而不是文件名。如果文件以某种方式打开,则只能执行指定的操作。如果用OUTPUT打开,数据只能从头到尾写入文件,不能执行“读取”操作。只有当数据关闭后,再用INPUT打开时,才能读取数据。例如:打开 a 3360 bas ti01 . dat for outputas # 5 open c 3360 bas file 1 . dat for putas # 1 open a 3360 bas ti01 . dat for appendas # 3,CLOSE file CLOSE语句,该语句用于关闭已用完且不再使用的文件。格式是关闭# 文件号 ,# 文件号.如果没有指定文件编号,所有打开的文件都将被关闭。对于顺序文件(写文件)的输出,1)。PRINT#语句和PRINT#USING语句print #语句的格式为:print # print # using语句的一般格式为:print #,USing“”;它的用途类似于PRINTUSING语句,只是前者将数据写入外部存储器,而后者将数据输出到屏幕上。2)。写#语句格式为:写# 。当使用它来写文件时,可以在数据项之间自动插入逗号,在字符串中添加双引号,并且在正数之前不设置空格。WRITE语句用于将数据写入文件实例。主程序是:DeclarUsebfile(NF ASSTRING)DeclarUsebFile(TFN ASSTRING)REMAINPROGRAMMITFN 1 ASSTRING,TFN 2 ASSTRING TFN 1= C : 1101 w . dat TFN 2= C : 1101 a . dat PRINT (1)* * :调用文件(TF n1)PRINT (2)* * :调用文件(TF n1)PRINT (3)* * 33333dat: wamg , M ,87.5 Li , F ,91 bi , M ,69.3 Tian , F ,99,declarescupfile(tfnsasting)remmainprogrammadmitfnastringtfn= c 3360 1102 . dat callpfile(tfn)DATAWAG,M,87.5,Li,F,91,bi,M,69.3 EndSubFile(tfnasString)DimiAsInTeger,sASSTRING,BasStringOpenTFFt输入#语句的一般格式是输入# ,.它的功能是从顺序文件中读取数据,将数据分配给指定的变量,并一次从文件中读取一条记录。2)。LININPUT #语句的一般格式是:LININPUT # 用于从打开的顺序文件中读取记录,并将其作为字符串分配给指定的字符串变量。例如,samp11-3: dimnfasstring,sasstring,basstring if= c : 1101 w . dat 写入数据时使用WRITE语句open nffor putas # 2,而不是(eof (2)输入,s,b,aprints,b,Awendcloseek,samp11-4: dimnfasstring,sasstring,basstring f= c 3360 1102 . dat 写入数据时使用PRINT语句open nffor putas 执行结果: wamg , m ,87.5 Li , f ,91 bi , m ,69.3 田, f ,99,例如,LININE INPUT语句读入数据,SAMP 11-3-B : DINFASSTRING,SASSTRINGNF=C : 1102。 DAT 使用PRINT语句OpenNFFORINPUTAS # 2写入数据,同时输入(EOF (2) LININE输入# 2。SPRINTsWENDCLOSEEND,执行结果:WAMGM87.5LIF91BIM69.3,修改序列文件。如果已经有一个序列文件,如果您想修改其中一个记录中的数据,您不能直接读取该记录,然后在程序中修改它并写回以替换原始记录。这是因为以下两个原因:打开文件时,必须指定三种模式之一:输入、输出或追加。要读取文件,您应该指定INPUT方法;要将数据写入文件,应该指定OUTPUT或APPEND方法。在输入和输出模式下,QBASIC不允许在OPEN语句中读写顺序文件。(2)顺序文件的读取和写入必须从第一个记录开始,一个记录接一个记录。例如,您不能直接读取第10条记录。你必须先读前9条记录,然后才能读第10条记录。(1)打开要由INPUT修改的旧文件,准备逐个读出数据。(2)使用输出建立另一个临时中间文件来存储修改后的记录。(3)读入旧文件的记录,由用户决定是否修改。如果没有,记录将被完整地写入中间文件。如果要修改,修改后将其写入中间文件。每个记录都是这样处理的。(4)最后,中间文件已经是修改后的文件。原始文件被撤销,中间文件被重命名为原始文件名。例如,范例11-6:建立学生档案。这6名学生的学生人数和3年中每一年的平均分数都放在数据报表和文件AF中。建立数据库是为了存储6名学生的人数和3年的平均成绩。样本11-7:如果学生的分数输入不正确,学生的分数将被修改,修改后的数据仍将存储在自动对焦中。数据文件。样本11-8:将每个学生第四年的平均分数相加,计算四年的平均分数,并将所有数据相加到圣达特,samp11-6:dimnumasstring,aasstringopenc:af.datforoutputas#1readnum,s1,s2,s3whilenumwrite#1,num,s1,s2,s3readnum,s1,s2,s3wendcloseprintstring$(20,);自动对焦。dat open c: af . dat for putas # 1 while not(eof(1)line input # 1,aprintawendclosdataa 1,87,76,68.5,A2,69.5,66,89,A3,77,84,79DATAA4,92,89.4,78,A5,98,87,76,A6,67.5,81,71 ,0,0,0,执行结果:afdat a1 ,ST . dat open c : ST . dat for putas # 1 while not(eof(1)line input # 1,aprintawendclosedata70,80,90,60,70,80end,执行结果: st. dat a1 ,87,76,68.5,70,301.5 A2 ,69.5,66,89,80,304.5 A3 ,77,84,79,90,90函数的作用是:确定文件位置指针是否到达文件的末尾。2)。LOF函数格式:LOF()函数:这个函数给出了指定文件中总字节的长度,所以对于随机文件,下面的表达式得到了随机文件中的记录数。3)。SEEK函数格式:SEEK()函数:对于顺序文件或以二进制模式打开的文件,文件指针是什么字节,对于以随机模式打开的随机文件,它指向当前记录号。4)。SEEK语句格式:seek # ,表示位置的长整型函数:用于将文件指针移动到指定位置。对于顺序文件或以BINARY模式打开的文件,它以字节为单位。以随机模式打开的随机文件指的是记录位置。5)。LOC函数格式:LOC()函数:对于以二进制模式打开的文件,该函数返回读取和写入文件的最后一个字节,对于以随机模式打开的文件,它返回读取和写入的最后一个记录号。它的值是SEEK函数的函数值减1。随机文件的概念,随机存取文件(RandomAccessFile)简称为随机文件。随机存取文件也称为“直接存取文件”。一旦随机文件被打开,就可以在同一个程序中读取或写入。随机文件以二进制形式存储在外部介质上。就空间和时间而言,对随机文件的访问比顺序文件更有效。文件和记录,数据文件中的数据是按“记录”组织的。一个文件由几条记录组成。一条记录包含几个数据项。换句话说,一组数据形成一个记录,几个记录形成一个文件。因此,文件也可以被视为记录的集合,记录是数据项的集合。数据1,数据2,数据3,数据1,数据2,数据3,数据1,记录,文件1,随机文件的打开和关闭,OPEN语句的一般格式OPEN文件名为读

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论