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

lseek仅将当前文件的偏移量记录在内核中,它并不引起任何i/o操作.然后,该偏移量用于下一个读写或写操作.

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

results matching ""

    No results matching ""