当前文件偏移量
1.什么是"当前文件偏移量"
每当打开一个文件都有一个"当前文件偏移量"(current file offset). 它通常是非负整数,用以度量从文件开始处计算的字节数.通常,读,写操作都是从当前文件偏移量开始,并使偏移量增加所读写的字节数.按照系统默认情况,当打开一个文件时,除非指定O_APPEND选项,否则该偏移量被设置为0.
2.lssek函数
我们可以调用lseek函数显示地打开文件设置偏移量.
#include <unistd.h>
off_t lseek(int fd, off_t offset, int whence);
对参数的offset 与whence有关.
当whence为 SEEK_SET 时,该文件的偏移量设为离文件开头offset个字节.
当whence为 SEEK_CUR时,该文件的偏移量设为其当前值加offset(PS :offest可正负).
当whence为 SEEK_END时,该文件的偏移量设为文件长度加offset(PS :offest可正负).