文件io:一、io的引入与介绍
1.前言在linux里几乎所有的可操作设备或者接口都是文件。无需理解只要记住即可。这些东西比如键盘鼠标硬盘串口触摸屏显示器网络通讯端口甚至是进程间的通讯管道等实体或者抽象概念都是文件。1.1 什么是ioio就是input和output由于linux里几乎什么都可以是文件所以io也是文件。在编程中针对文件进行的操作就是对io进行操作。1.2为什么要提到文件文件为什么那么重要我们之前使用数据结构存储数据的时候一旦整个应用程序结束之后再次启动该程序数据都会被还原清零。因为使用数据结构存储的数据是存储在虚拟内存空间中当程序结束之后整个虚拟内存空间都会被释放数据就会被清零。那么如何才能使数据“永久”保存呢答案是使用文件存储数据。1.3 文件分类linux里文件分类有7种普通文件存在于外部存储器中用于存储普通数据。 1.txt 1.c 1.mp3 1.mp4目录文件用于存放目录项是文件系统管理的重要文件类型。 文件夹管道文件一种用于进程间通信的特殊文件也称为命名管道FIFO。套接字文件一种用于网络间通信的特殊文件。链接文件用于间接访问另外一个目标文件相当于Windows快捷方式。 软链接字符设备文件字符设备在应用层的访问接口。 鼠标 键盘 触摸屏 ---普通硬件设备块设备文件块设备在应用层的访问接口。 U盘 固态硬盘 磁盘 --存储容量的硬件设备我们可以看到每个文件信息的最左边一栏是各种文件类型的缩写见下图2.系统io和文件io的概念系统io在操作系统的层面上专门针对文件的IO接口就被称为系统IO标准io在标准C库的层面上这一组专门针对文件的IO接口就被称为标准IO2.2 为什么要提到系统io和标准io对文件的操作基本上就是输入输出因此也一般称为IO接口。那么我们用户如何实现文件的读取或者写入操作呢其实是不需要用户写自定义函数因为在linux下已经有现成的函数来实现。因此当需要写某些函数的时候可以快速调用已经预装好的系统io或者标准io。前提是你知道有哪些系统io和标准io。2.3 系统io和标准io的区别.系统IO是众多系统调用当中专用于文件操作的一部分接口。存在于man手册中的第二章标准IO是众多标准函数当中专用于文件操作的一部分接口。存在于man手册中的第三章2.4 在什么情况下选择系统io或者标准io1.系统IO由操作系统直接提供的函数接口特点是简洁功能单一没有提供缓冲区因此对海量数据的操作效率较低1.套接字Socket、设备文件的访问只能使用系统IO2.标准IO1.由标准C库提供的函数接口特点是功能丰富1.有提供缓冲区因此对海量数据的操作效率高1.编程开发中尽量选择标准IO但许多场合只能用系统IO总的来讲这两组函数接口在实际编程开发中都经常会用到都是基本开发技能。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2425678.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!