博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

文件的基本概念

Posted on 2023-03-13 05:56  乔55  阅读(112)  评论(0编辑  收藏  举报

文件的分类

  • 根据数据组织形式,文件分为2种
  • ASICC文件,即文本文件:每个字节存储一个ASCII码
  • 二进制文件,把内存中数据按照其在内存中的存储形式原样输出到磁盘上存储

文件流

  • 文本流:流动着的字符序列
  • 二进制流:流动着的二进制序列
  • 标准输入流:stdin,针对标准输入键盘
  • 标准输出流:stdout,针对标准输出屏幕
  • 标准错误流:stderr,针对标准输出屏幕

C语言处理文件的方式

  • C程序处理的是流而不是直接处理文件
    • 是一个实际输入或输出的理想化数据
      • 这意味着不同属性和不同各类的输入,由属性更统一的流来表示
      • 打开文件的过程,就是把流与文件相关联,而读取都是通过流来完成的
    • C语言把输入和输出设备均视为存储设备上的普通文件
      • C把键盘和显示器视为每个C程序自动打开的文件
      • stdin流表示键盘输出,stdout表示屏幕输出
      • getchar,putchar,scanf,printf,都是标准I/O包的成员,用来处理这2个流
    • C程序在读文件时如何知道在何处停止读文件
      • C的输入函数内置了文件结尾检测器
      • 操作系统要以某种方式判断文件的开始和结束,检测方法有
        • 在文件末尾放一个特殊字符,标记文件结束
        • 存储文件的大小信息,若有1000个字节,就读到1000个字节处便是到了结尾
      • 无论以何种方式检测文件尾:
        • getchar与scanf读取文件,检测到文件结尾时将返回一个EOF
        • #define EOF -1,定义在stdio.h