现在的位置: 首页 > 综合 > 正文

浅谈C语言中“文件”与“流”

2013年05月01日 ⁄ 综合 ⁄ 共 724字 ⁄ 字号 评论关闭
   测试空间旗下大头针出品
  最近C语言讲到文件了,也说说我对文件的一些看法,可能不是很准确,希望看到文章有什么错误,多多交流。
  C语言中的数组、结构体在程序运行的时候都保存在内存中,但程序一旦结束数据就会全部释放,如果我们想长期保存数据怎么办?所以就引入了文件。
  1.此文件并不是我们日常使用电脑的时候所用的文件。操作系统把与主机相连的设备也看作文件。这是在操作系统级把物理设备做了一次抽象,把显示器定义为标准输出文件,把键盘定义为标准输入文件,这也就是说设备文件的概念。
 
 2.键盘,显示器,还有磁盘上的文件,肯定是不同的文件,我们对不同的文件应该如何操作呢?是不是不同的文件必须有不同的操作呢?这样就很麻烦了, C语言呢?毕竟是高级语言,在操作系统抽象硬件设备的基础上,自己有对设备文件和磁盘文件进行统一的抽象,C语言在处理文件的时候,不区分类型,通过流来操作和处理文件
 
3.C语言中流文件总共有两类流:1.文本流。2.二进制流。文本流是一系列的字符,二进制流是一些列的字节。C语言有5个专门stdin,stdout,stderr,stdprn,stdaux.
这些流都与C中的FILE类型的指针相连。
4.与文件相关的每个流都有FILE类型指针,程序通过打开的操作(fopen)把流与I/O设备联系起来。FILE类型的指针贯穿整个缓冲I/O的主线。当然打开那个文件呢?也就是文件是需要标识的,所以我们为每个文件都起了一个文件名。
5.以后我们用到的函数fopen,fclose,fgetc,fputc,fread,fwrite,fseek,fflush,ferror都是利用了文件指针,这些函数通过FILE指针来操作文件,进而实现自己函数的功能。

 

抱歉!评论已关闭.