UNIX环境高级编程 CH3

3.1 

When reading or writing a disk file, are the functions described in this chapter really unbuffered? Explain.

先看看read 和 write的函数申明。
ssize_t read(int filedes, void *buf, size_t nbytes);
ssize_t write(int filedes, const void *buf, size_t nbytes);

这里的 buf 都是用来作为读和写的缓存,可是这里为什么是void*类型而不是char* 类型呢,可以参考http://blog.csdn.net/yming0221/article/details/6249151,在POSIX里
void * 操作跟char * 是一样的。

以上是说函数在调用时是有缓存的,读写的内容都存放在buf里,但unbuffered的又是什么呢,其实是说每次系统调用完该函数,都不会留下该函数体的缓存。
posted @ 2013-04-08 13:06  托尼小小新  阅读(139)  评论(0)    收藏  举报