在许多情况下,我看到在从调用open分配文件描述符之后直接执行fstat调用:
fd = open(file, flags, mode);
fstat_result = fstat(fd, &stat_log);
如果已经执行了read first 调用, fstat 的行为是否会有所不同?
fd = open(file, flags, mode);
read_result = read(fd, buffer, buffersize)
fstat_result = fstat(fd, &stat_log);
“行为不同”是指:fstat 的返回值或“struct stat”缓冲区输出中的任何内容在那种情况下是否不同?
stat_log 的任何与大小相关的成员现在是否代表剩余要读取的文件的大小?
如果我已经读到了文件的末尾,那么之后执行对 fstat 的调用会导致失败吗?(fstat 返回 -1)
该 fstat 文档似乎没有表明文件描述符需要引用尚未读取的文件。你有没有发现任何其他的指示?