a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 111|回复: 1

[程序员] 2012年软件水平考试程序员之程序设计知识要点(28)

[复制链接]
发表于 2012-8-2 08:51:15 | 显示全部楼层 |阅读模式
 8.1 C文件概述1.文件引用轨则   a! v6 B: z/ o( j
  为使计较机轨范能措置大量的数据信息,常将数据存储在计较机外部存储介质中,如磁带、磁盘等。计较机操作系统将存储在外部存储介质中的数据以数据流的形式来组织。每个自力的数据流称作文件,每个文件有一个名字。为便于打点文件,操作系统维持一个呈条理状的目录结构,每个文件都被登录在某一目录下。习惯也将从键盘输入的数据流和向显示屏或打印机输出的数据流称作文件。引用文件可由以下几部门组成:! h- o' O/ v: _7 y, c
  盘符:路径\文件名.扩展名& i. w* W5 Z2 s# @
  其中盘符暗示文件地址存储块,系统将外部存储介质分成多个存储块,并用分歧的盘符标识这些块。路径是文件地址目录条理,文件名和扩展名凡是是由字母开首、字母和数字符组成。扩展名可以多至3个字符,凡是用来暗示文件的属性。因操作系统保留着当前盘和当前路径,若要引用当前盘或当前路径下的文件,盘符和路径可以省略。0 R8 z$ D8 r; c! q
2.文件的打开和封锁 + ?8 T/ W- U) F
  因为文件存放在磁盘上,轨范要措置文件上的数据,必需先将文件中的数据读人到内存;反之,轨范要将发生的数据永远保留,就应将数据写到文件中。文件受操作系统打点,轨范要使用文件,就要请求操作系统,让轨范与某文件之间成立某种联系,习惯称轨范与文件成立联系的过程为文件打开;反之,裁撤轨范与文件联系的过程为文件封锁。所以,轨范要使用文件,先要打开文件;轨范使用文件竣事后,应实时封锁文件。, E5 X6 u6 S5 Y: G0 X% l
3.文件缓冲手艺
4 \# G& ?% C  ]9 r, Y/ {6 ?: E/ y
) t0 v6 x$ t5 p  在现代计较机系统中,轨范读文件中的数据或写数据到文件,都在操作系统节制下完成。若轨范要从文件读人一个数据,操作系统会一次性地读入一大块数据暂存于内存中,供轨范已后再读入时使用。轨范向文件写数据时,也不是当即将数据写到文件中,而是且则存于某个内存块中,待内存块写满,或轨范明晰奉告写文件竣事后,再将数据写到文件中。这种文件数据读写手艺称为缓冲。文件读写采用缓冲手艺的系统称为缓冲文件系统。在缓冲文件系统中,暂存输入输出数据的内存块称为文件缓冲区。不采用缓冲手艺,操作系统直接按轨范要求完成输入输出的系统称为非缓冲系统。操作系统为了节制和完成文件读写操作,为每个正与轨范相联系的文件设有一个节制块,在节制块中记实文件的名称、文件的属性、文件当前读写位置、文件缓冲区起头地址、文件当前读写位置所对应缓冲区的位置等等。文件缓冲区和文件节制块都由系统分配和受系统节制。
回复

使用道具 举报

 楼主| 发表于 2012-8-2 08:51:16 | 显示全部楼层

2012年软件水平考试程序员之程序设计知识要点(28)

</p>4.二进制文件和文本文件
& Y$ q; h/ Q" e/ @  文件按其数据信息的存放名目分类,文件可分二进制文件和文本文件两种。二进制文件中的数据是按二进制体例存放,即以数据在计较机内存的存放名目将数据存储在文件中。将数据转换成字符列,每个字符又以字符的代码(例如,ASCII代码)存储的文件称为文本文件。一般来说,二进制文件交锋本文件更紧凑,并在数据传输时不必进行名目转换,常用于计较机与计较机之间、计较机与外部设备之间传输数据用。因为文本文件以字符的代码存储,输出内容能让人直接阅读,常用于人与计较机之间通信时使用。
8 Z  v% R( k" p" S5 c# K0 ]5.挨次文件和随机文件
& H! w2 j6 o$ x' c. L  文件按读写体例分,可以把文件分为挨次文件和随机文件。挨次文件要求文件读写从文件头起头,读或写操作挨次进行。若姑且要篡夺文件中心的某个数据,必需从头起头读,直至读人要读的数据;若在文件某位置要写入新的数据,也必需从文件的第一个数据起头挨次篡夺和复写,并在要改写的数据写入后,还要继续篡夺和复写厥后的全数数据。随机文件许可随机地篡夺或改写文件任一位置上的数据。8 z7 p; b( ?$ P4 [' B
  C说话自己未供给有关文件操作的输入输出语句,但对文件的打开、封锁和读写操作都可用系统供给的库函数来实现。轨范可用它们对文件作各类复杂的措置。
0 p( a- P$ M+ a) m, S6.设备文件 7 |. p7 @' I$ m- z5 w6 `( r
  系统将常规设惫亓输入输出数据流称为尺度文件,轨范运行前,系统自动打开这些尺度文件。它们是尺度输入文件、尺度输出文件、尺度犯错输出文件和尺度打印输出文件。系统自动界说了这些尺度文件的文件指针,它们依次是stdin、stdout、stderr和stdprn,供轨范直接使用。+ D0 {! r- k( [
  轨范除能直接使用前面各章都使用的不带文件指针的尺度输入输出库函数外,也可对它们使用下面介绍的带文件指针的一般形式的输入输出库函数。如stdin,就是指从终端输入数据;stdout,就是向终端输出数据。
2 c8 ]  j- ~2 m0 D, T! z( z/ M7.文件类型和文件类型指针变量 2 S- A: b7 ~+ W+ V/ C- L) r
  为了正确地完成文件读写,操作系统为每个正被轨范使用的文件在内存中斥地一个存储区,用于存放有关对文件进行操作所需的节制信息(简称节制块)。如文件名、文件读写状况。文件缓冲区巨细和位置、当前读写位置等。节制块是一个结构变量,其类型由系统预界说,取名为FILE,习惯称文件类型。轨范经由过程指向该节制块的指针挪用系统供给的文件措置库函数。; K0 p1 K& M; A. F1 o1 M
  轨范在使用文件前,先挪用文件打开函数。打开函数为将要使用的文件指定一个FILE类型的结构变量,并返回该结构的指针。系统经由过程指向该结构的指针来引用结构中的文件节制信息,实现正确读写对应的文件。
+ O% w/ y/ a0 b) F# V  轨范要使用文件,就要界说FILE类型的指针变量(称文件指针变量)。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-23 16:34 , Processed in 0.229800 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表