不带缓冲IO是指read(),write()等函数

标准(带缓冲)IO是指fread(),fwrite()等函数

实际上缓冲有两种,是用户空间上的缓冲(流缓冲区)和内核缓冲区。无论是不带缓冲IO还是标准IO都要通过系统调用将数据输入到内核缓冲区。

所谓的带缓冲是指带流缓冲区。

可以参考文章http://blog.sina.cn/dpool/blog/s/blog_6592a07a0101gar7.html

 

ssize_t read( int fd, void* buf, size_t nbytes );    // 若成功返回读到的字节数
ssize_t write( int fd, const void* buf, size_t nbytes );    // 若成功返回已写的字节数

注意,上面的buf不是指read、write带缓存,而是当read时用来存放读出的字节,write时存放待写的字节。对于read,nbytes表示每次最多读的字节数。但这个块的大小将影响I/O的效率,其值和具体系统有关。

http://www.cppblog.com/aaxron/archive/2012/05/10/174468.html

posted on 2014-09-28 18:59  W space  阅读(431)  评论(0)    收藏  举报