原子操作是指由多步组成的操作,这些操作要不全不发生,要不全发生。这对于文件系统的读写是非常重要的。
pread和pwrite是两个典型的原子操作函数。
#include <unistd.h>
ssize_t pread(int file,void *buf,size_t nbytes,off_t offset);
//成功返回读到的字符数,若读到尾返回0,出错返回-1。
ssize_t pwrite(int file,const void *buf,size_t nbytes,off_t offset);
//成功返回已写字节数,出错返回-1。
pread相当于顺寻调用lseek和read,但是无法中断它们的操作。
pwrite类似。
转载请注明:爱开源 » Linux下不带缓冲的I/O操作函数2