一、标准C库I/O函数
标准C库I/O函数详细介绍:https://blog.csdn.net/X_Perseverance/article/details/88975419
1、标准C库I/O函数与Linux系统I/O函数的区别
(1)标准C库I/O函数在读写的时候,中间有一个缓冲区,而Linux系统I/O函数没有缓冲区;如果中间有缓冲区的话在进行读写操作的时候会先存到缓冲区,再刷新到磁盘,它比直接逐条读写到磁盘效率要高。
(2)根据应用场景选择合适的I/O函数,如:再进行网络通信时就应该使用Linux系统I/O函数,因为通信更要求实时性;而在对磁盘进行读写时则选择标准C库I/O函数。
说明:
(1)把缓冲区内容刷新到磁盘的条件见下图;
(2)磁盘是指利用磁记录技术存储数据的存储器。磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。
2、标准C库I/O函数与Linux系统I/O函数的关系
在使用标准C库I/O函数时,主要使用其中的缓冲区,然后会调用Linux系统I/O函数中的write和read函数进行读写操作;(也即下图内核区域中的write和read函数实际上调用的是Linux系统I/O函数中的write和read函数)