2014年6月15日

摘要: dup与dup2函数用于复制现存的文件描述符。原型:#include int dup(int fd);int dup2(int fd, int fd2);两函数若成功则返回新描述符,出错则返回-1。dup函数返回一个新的描述符,并且这个新描述符一定是可用描述符中数值最小的一个。dup2函数使用fd2... 阅读全文
posted @ 2014-06-15 13:36 gradliang 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 原子操作一、添写到文件 早期的UNIX的open函数里面,不支持O_APPEND的选项。所以要追写到文件结尾处,必须先利用lseek把文件偏移量移到文件的结尾处,再进行write操作。 如果当前进程A刚执行完lseek后,系统进程调度作用切换到了另一个进程B,进程B对同一个文件进行了写操作。进程B写... 阅读全文
posted @ 2014-06-15 13:34 gradliang 阅读(1301) 评论(0) 推荐(0) 编辑
摘要: lseek 函数:原型:#include off_t lseek(int filedes, off_t offset, int whence);filedes 为文件描述符。offset带符号的为偏移量,off_t有可能是32位,也有可能是64位。当whence是SEEK_SET,则将偏移量设置为距... 阅读全文
posted @ 2014-06-15 13:20 gradliang 阅读(433) 评论(0) 推荐(0) 编辑
摘要: write 函数:调用write函数可以从打开的文件中写数据。原型:#include ssize_t write(int filedes, const void* buf, size_t nbytes);返回值:若成功则返回读写入的字节数,返回值要与nbytes相同。如果返回值与nbytes不相同,... 阅读全文
posted @ 2014-06-15 13:18 gradliang 阅读(482) 评论(0) 推荐(0) 编辑
摘要: read 函数:调用read函数可以从打开的文件中读取数据。原型:#include ssize_t read(int filedes, void* buf, size_t nbytes);返回值:若成功则返回读取到的字节数,文件的偏移量将增加至实际读取的字节数,若到了文件末尾返回0,出错返回-1。很... 阅读全文
posted @ 2014-06-15 13:12 gradliang 阅读(282) 评论(0) 推荐(0) 编辑

导航