文件的分类
- 根据数据组织形式,文件分为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
中
- 是一个实际输入或输出的理想化数据
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人