06 2014 档案

摘要:dup与dup2函数用于复制现存的文件描述符。原型:#include int dup(int fd);int dup2(int fd, int fd2);两函数若成功则返回新描述符,出错则返回-1。dup函数返回一个新的描述符,并且这个新描述符一定是可用描述符中数值最小的一个。dup2函数使用fd2... 阅读全文

posted @ 2014-06-15 13:36 gradliang 阅读(151) 评论(0) 推荐(0)

摘要:原子操作一、添写到文件 早期的UNIX的open函数里面,不支持O_APPEND的选项。所以要追写到文件结尾处,必须先利用lseek把文件偏移量移到文件的结尾处,再进行write操作。 如果当前进程A刚执行完lseek后,系统进程调度作用切换到了另一个进程B,进程B对同一个文件进行了写操作。进程B写... 阅读全文

posted @ 2014-06-15 13:34 gradliang 阅读(1458) 评论(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 阅读(521) 评论(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 阅读(580) 评论(0) 推荐(0)

摘要:read 函数:调用read函数可以从打开的文件中读取数据。原型:#include ssize_t read(int filedes, void* buf, size_t nbytes);返回值:若成功则返回读取到的字节数,文件的偏移量将增加至实际读取的字节数,若到了文件末尾返回0,出错返回-1。很... 阅读全文

posted @ 2014-06-15 13:12 gradliang 阅读(393) 评论(0) 推荐(0)

导航