zoukankan      html  css  js  c++  java
  • lseek()函数

    每个打开的文件都有一个与其相关联的“当前文件偏移量”。通常,读、写操作都是从当前文件偏移量处开始,并使偏移两增加所读写的字节数。按系统默认的情况,当打开一个文件时,除非制定O_APPEND选项,否则该偏移量被设为0。

    #include <unistd.h>

    off_t lseek(int filedes, off_t offset, int where); 

                         返回值:若成功则返回新的文件偏移量,若出错则返回-1

    where:SEEK_SET,SEEK_CUR,SEEK_END。

    1.  文件的当前偏移量应当是一个非负整数,但某些设备也可能允许负的偏移量。所以在比较lseek的返回值时,应当谨慎,不要测试它是否小于0,而要测试它是否等于-1.

    2.  文件的偏移量可以大于当前文件长度,这种情况下,对该文件的下一次读写将加长该文件,并在文件中构成一个空洞。位于文件中但没有写过的字节都被读为0.  

  • 相关阅读:
    线程的补充
    线程
    进程
    操作系统和进程
    socketserver模块实现并发和连接合法性验证
    socketserver实例化过程
    粘包现象和解决方法
    网络通信协议
    初探网络
    Python网络编程
  • 原文地址:https://www.cnblogs.com/svking/p/lseek.html
Copyright © 2011-2022 走看看