本文主要是从使用标准I/O或者文件I/O来解释:
文件IO:Unix/Linux下的系统文件IO,即文件访问机制不经过操作系统内核的缓存,数据直接在磁盘和应用程序地址空间进行传输。
标准IO:带缓存的IO,又称为标准IO(C标准库中提供了标准IO库,即stdio),它实现了跨平台的用户缓存解决方案。
缓冲区:标准I/O函数接口在对文件进行操作时,首先操作缓存区,等待缓存区满足一定的条件时,然后再去执行系统调用,真正实现对文件的操作。 而文件I/O不操作任何缓存区,直接执行系统调用。
缓存区从某个角度来说就是合并系统调用。
从响应速度看:文件I/O速度更快
从吞吐量看:标准I/O更好
回答:如果想提高响应速度,则采用文件I/O;如果想增大吞吐量,则采用标准I/O。
站在用户角度来看,增大吞吐量更能提高程序响应速度。
注意二者不要混用。