【发布时间】:2014-11-17 17:51:42
【问题描述】:
我打开了一个普通文件,它充当记录数据库。我打开它是:
fd = open ("file", O_CREAT | O_APPEND | O_RDWR, 0644);
然后在我的find_record 函数中,我将偏移量移到开头。
ret_val = lseek(fd, 0, SEEK_SET);
它抛出一个ESPIPE 错误。现在我不知道发生了什么。
我的文件描述符是否被视为管道?如果是,为什么?
lseek 真的有效吗?应该是因为ret_val 不是-1。
【问题讨论】:
-
你检查
open()成功了吗? -
是的,没有问题。我在“文件”中写入和读取记录