Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我打开了一个普通文件,它充当记录数据库。我打开它为:
fd = open ("file", O_CREAT | O_APPEND | O_RDWR, 0644);
然后在我的find_record函数中,我将偏移量移到开头。
find_record
ret_val = lseek(fd, 0, SEEK_SET);
它抛出一个ESPIPE错误。现在我不知道发生了什么。我的文件描述符是否被视为管道?如果是,为什么?
ESPIPE
真的lseek在工作吗?它应该是因为ret_val不是-1。
lseek
ret_val
无法保证errno在成功调用时会重置。
errno
您应该只检查errno返回值是否指示错误的值。