Pascal的类型文件

OI爱好者(OIFans.cn)
www.oifans.cn

    按数据的二进制代码形式存放时的文件称为类型文件。如果再按照组成类型文件的元素数据结构分,又可以分为有类型文件和无类型文件。其定义为:
      type 类型名=file of 基类型;{有类型文件}
        类型名=file;    {无类型文件}
    例:var f:file of integer;
         说明f为名的变量对应文件将用于存放整数。      
        var g:file;
         说明g为名的变量对应文件的数据无任何规定。  

Turbo Pascal有关类型文件的函数和过程
  (1)assign过程
  形式:assign(f,str);
  功能:将文件名字符串str赋给文件变量f,程序对文件变量f的操作代替对文件str的操作。
  (2)rewrite过程
  形式:rewrite(f);
  功能:建立并打开一个新的允许写磁盘文件,其文件名必须先由assign过程赋给变量f。这时,指向文件元素的指针指向第一个元素,rewrite过程所建立的文件为空文件。
  (3)reset过程
  形式:reset(f);
  功能:打开一个已经存在的磁盘文件,其文件名必须先由assign过程赋给变量f,该文件只能读,指向文件元素的指针指向第一个元素。
  (4)read过程
  形式:read(f,var表);
  功能:从磁盘文件f中,将数据依次读到var表表示的各个变量中。
  (5)write过程
  形式:write(f,var表);
  功能:将var表所表示的各个变量的值依次写到磁盘文件f上。
  (6)close过程
  形式:close(f);
  功能:关闭和f关联的磁盘文件,在写操作时自动产生一个文件结束标志。
  (7)seek过程
  形式:seek(f,n);
  功能:把文件指针移到f指明文件的第n个元素。
  (8)eof函数
  形式:eof(f);
  功能:若文件指向文件尾,则返回true,否则返回false。   

  对有类型文件的写操作步骤为:
   assign(f,str);
   rewrite(f);
   write(f,var表);
   close(f);
  对有类型文件的读操作步骤为:
   assign(f,str);
   reset(f);
   read(f,var表);
   close(f);

  例:在磁盘上建立一个1~50的平方数的数据文件zhoufei.dat。要求以一个数,这个数的平方数的格式写入。
  program zhoufei;
   var f:file of integer;
   i:integer;
  begin
   assign(f,’zhoufei.dat’);
   rewrite(f);
   for i:=1 to 50 do write(f,i,sqr(i));
   close(f)
  end.