• 计算机与外部设备的交互依靠文件完成
文件是记录在外部介质上的数据的集合;例如1.c 是源码 1.exe可执行的文件
  • 文件的分类
按组织结构:
记录文件:有一定结构的文件,可以解析成字段值的文件;
流式文件:对于源代码一类的属于流式文件(由一个个字符,字节按顺序组成) 按存储介质:
普通文件---存储介质文件(磁盘,磁带)
设备文件---非存储介质如显示器,键盘 打印机 按组织形式:
二进制文件:数据按其在内存中的原始形态存放 如果存入123 直接换算成二进制形式
文本文件:ASCII文件每个字节存放一个字符的ASCII 码(例如在文本写入123 1对应ASCII 49 2对应50 3对应51 分别把49,50,51换算为二进制,并存入字节)

文件的出现便于信息共享,数据和程序分离,数据的改变不影响程序的改变,文件还便于保存中间结果

  • 文件的标识符
也就是文件的后缀名,什么样的文件用什么样的标识符,由操作系统决定
简化了编程的过程,操作,读写设备就是操作,读写数据的过程,是否正确输入/输出了数据,流可以屏蔽技术细节,主要用于设备文件和系统的通信,只要按照统一接口,就可以操作设备,数据搬运的过程就是流,
无须关心I/O设备
  • 文件处理
缓冲文件系统
下载文件十分伤害磁盘,这时文件缓冲区就派上了用场,不妨下载到一定程度,一并写入磁盘,主要是提升磁盘的寿命
.系统开辟内存缓冲区 .用户自己设定文件缓冲区
比如我们可以通过重定向把文件输出到相关设备文件
非缓冲文件系统
  • 文件类型指针
void main()
{
char words[] = "喜欢企鹅人和谜语人\n";
fputs(words, stdout);//stdout就是屏幕显示器
FILE *p = stdout;
fputs("哦~尼格码!where are you?\n",p);
system("pause");
}

最新文章

  1. Form authentication(表单认证)问题
  2. Kinect 骨骼追踪对象选择
  3. 【LeetCode】Sum of Two Integers
  4. excel中如何批量将所有的网址设为超链接
  5. System.exit()方法的作用
  6. 【原创】Android多个xml文件的使用
  7. HtmlTestRunner无法生成HTML报告问题
  8. Node.js--安装express以及创建第一个express项目(windows)
  9. 微信小程序如何动态增删class类名
  10. Entry
  11. EF Core 2.0使用MsSql/Mysql实现DB First和Code First
  12. Java中Enumeration接口的用法
  13. 重新认识python
  14. Hadoop 配置文件 & 启动方式
  15. 使用 kbmmw 的ORM开发纯REST数据库访问服务
  16. Android开发(十)——像素单位dp、px、pt、sp的比较
  17. Lua------------------unity与lua的热更新
  18. 【代码审计】BootCMS v1.1.3 文件上传漏洞分析
  19. Restframework 视图组件与序列号组件的应用.
  20. Alamofire源码导读四:统计信息

热门文章

  1. The request was aborted: Could not create SSL/TLS secure channel
  2. c# sqlite 导入,升级
  3. 去掉右键Open Folderas Intellij IDEA Project
  4. JavaIO -- Reader 和 Writer
  5. 【坑】使用IDEA创建maven的时候,提示缺少plugin-clean 等
  6. Bean的三种实例化方式
  7. python中列表之间求差集、交集、并集
  8. (九)Redis之集群概述(转)
  9. (四)XML基础(客户端和服务端发送与接收xml数据)
  10. .htaccess 转 SAE AppConfig