C语言基础知识整理19文件基本知识

基础知识

文件

文件(file)是程序设计中一个重要的概念。一般指存储在外部介质上数据的集合。一批数据是以文件的形式存储在外部介质上的。操作系统以文件为单位对数据进行管理。

操作系统把各种设备都统一作为文件来处理。从操作系统的角度看,每一个与主机相连的输入输出设备都看作一个文件。

文件有不同类型,在程序设计中,主要用到两种文件:

  1. 程序文件:包括源程序文件(.c)、目标文件(.obj)、可执行文件(.exe)等,此类文件内容为程序代码
  2. 数据文件:文件的内容不是程序,而是供程序运行时读写的数据。

 

输入输出是数据传送的过程,数据如流水一样从一处流向另一处,因此常将输入输出形象地称为流(stream,即数据流(是一个传输通道)。流表示了信息从目的端的流动。输入时从文件流向计算机内存,输出时从计算机流向文件(打印机,磁盘文件)。文件是由运行环境(即操作系统)进行统一管理的。

由C程序观点来看,无论程序读写一个字符,或一行文字,或一个指定数据区,作为输入输出的各种文件或设备都是统一以逻辑数据流的方式出现的。C语言将文件看作一个字符(或字节)的序列,即由一个个字符(或字节)的数据顺序组成。一个输入输出流就是一个字符流或字节(内容为二进制数据)流。

流式文件:C的数据文件由一连串的字符(或字节)组成,而不考虑行的界限,两行数据间不会自动加分隔符,对文件的存取是以字符(字节)为单位的。输入输出数据流的开始和结束仅受程序控制而不受物理符号(如回车换行符)控制,这就增加了处理的灵活性。

文件名

一个文件要有一个唯一的文件标识,以便用户识别和引用。

文件标识(即文件名)包括3部分:

  1. 文件路径——表示文件在外部存储设备中的位置。

//C将\作为转义符号,因此在””中或’’中要表示“\”要输入“\\”才有效!!!

2.文件名主干——命名规则遵循标识符的命名规则。

3.文件后缀——用来表示文件的性质,一般不超过3个字母。

dat(数据文件),for(FORTRAN源程序文件),pas(Pascal源程序文件),bmp(图形文件)

文件分类

根据数据的组织形式,数据文件可分为ASCII文件和二进制文件。

数据在内存中是以二进制形式存储的,如果不加转换地输出到外存,就是二进制文件,可以认为它就是存储在内存的数据的映像,所以也称之为映像文件(image file

如果要求在外存上以ASCII代码形式存储,则需要在存储前进行转换。ASCII文件又称文本文件(text file,每一个字节放一个字符的ASCII码。

数据在磁盘的存储:字符一律以ASCII形式存储,数值型既可用ASCII存储,也可用二进制存储。用ASCII形式输出时字节与字符一一对应,一个字节代表一个字符,因而便于对字符进行逐个处理,也便于输出字符。但一般占存储空间较多,而且花费转换时间(二进制与ASCII间的转换)。用二进制形式输出数值,可以节省外存空间和转换时间,把内存中的存储单元中的内容原封不动地输出到磁盘(或其他介质),此时每一个字节并不一定代表一个字符。如果程序运行过程中有的中间数据需要保存在外部介质上,以便在需要时再输入到内存,一般用二进制文件比较方便。在事务管理中,常有大批数据存放在磁盘上,随时调入计算机进行查询或处理,然后又把修改过的信息再存回磁盘,这时也常用二进制文件。

文件缓冲区

ASNI C标准采用“缓冲文件系统”处理数据文件,缓冲文件系统是指系统自动地在内存区为程序中每一个正在使用的文件开辟一个文件缓冲区。从内存向磁盘输出数据必须先送到内存中的缓冲区,装满缓冲区后才一起送到磁盘去。如果从磁盘向计算机读入数据,则一次从磁盘文件将一批数据输入到内存缓冲区(充满缓冲区),然后再从缓冲区逐个地将数据送到程序数据区(给程序变量)。缓冲区的大小由各个具体的C编译系统确定。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值