基础知识
lseek对文件描述符的指针位置进行设置。
函数原型
off_t lseek(int fildes,off_t offset,int wence);
实验内容
①利用SEEK_SET定义偏移量
②利用SEEK_CUR定义偏移量
③利用SEEK_END定义偏移量
④lseek返回值的探究
利用SEEK_SET定义偏移量
程序截图
运行结果
说明
指针相对于文件开头移动三个字节,然后从第四个字节开始写数据。
利用SEEK_CUR定义偏移量
程序截图
运行结果
说明
程序先相对于文件开头移动3个字节,此时指针指向第三个字节,接着相对当前位置移动2个字节,此时指针指向第5个字节,写内容时,从第六个字节的位置开始写,覆盖掉原来的内容。
利用SEEK_END定义偏移量
程序截图
运行结果
文件指针相对于最后一位向前移动3位,指针指向倒数第四位,写内容时从倒数第三位写入。正数表示向后偏移,负数表示向前偏移,如果向前偏移超过了文件头,则后续偏移不会继续,如果向后偏移超过文件尾则超过部分用0补充
lseek返回值的探究
lseek调用成功时返回相对开头偏移的字节数
lseek调用失败时返回-1
程序截图
运行结果
长沙理工大学