fseek 不会 return 预期的位置
fseek would not return the expected location
我有一个函数,我试图到达文件内容的最后一个索引。当我使用如下给出的描述符和 lseek 组合时,一切正常:
offset = lseek(infd, 0, SEEK_END);
结果偏移量:39(文件的字节大小)
infd 为 3
offset = fseek(file1, 0, SEEK_END);
导致偏移量 0
file1 指向 0x00007fff8897e320
当我尝试使用指向相同文件的指针时,为什么偏移量结果为 0?
注:偏移量类型为off_t
您正在使用 fseek
,如果您阅读 documentation,您会发现:
Return value
0 upon success, nonzero value otherwise.
另一方面,lseek
documentation 显示:
Return value
Upon successful completion, lseek() returns the resulting offset
location as measured in bytes from the beginning of the file.
希望这能解决问题,下次我真的建议您阅读参考并检查 return 值部分!
我有一个函数,我试图到达文件内容的最后一个索引。当我使用如下给出的描述符和 lseek 组合时,一切正常:
offset = lseek(infd, 0, SEEK_END);
结果偏移量:39(文件的字节大小)
infd 为 3
offset = fseek(file1, 0, SEEK_END);
导致偏移量 0
file1 指向 0x00007fff8897e320
当我尝试使用指向相同文件的指针时,为什么偏移量结果为 0?
注:偏移量类型为off_t
您正在使用 fseek
,如果您阅读 documentation,您会发现:
Return value
0 upon success, nonzero value otherwise.
另一方面,lseek
documentation 显示:
Return value
Upon successful completion, lseek() returns the resulting offset location as measured in bytes from the beginning of the file.
希望这能解决问题,下次我真的建议您阅读参考并检查 return 值部分!