C-阅读后的FSTAT行为



在许多情况下,我已经看到 fstat 在文件描述符被分配给 open 的情况下,直接执行了调用。/p>

fd = open(file, flags, mode);
fstat_result = fstat(fd, &stat_log);

如果已经执行了读取的呼叫,FSTAT的行为会有所不同吗?

fd = open(file, flags, mode);
read_result = read(fd, buffer, buffersize)
fstat_result = fstat(fd, &stat_log);

和"行为不同",我的意思是:在这种情况下,FSTAT的返回值是FSTAT的返回值或" struct Stat"缓冲区输出不同的?

现在,stat_log的大小相关成员是否代表文件的大小仍将读取

如果我已经阅读到文件的末尾,此后是否会导致FSTAT进行呼叫?(fstat返回-1)

此FSTAT文档似乎并未表明文件描述符需要引用尚未从中读取的文件。您是否找到了任何可以说明的?

您可以在打开文件后但在fstat之前从文件中读取。唯一会改变的是由于阅读而改变的任何属性。唯一的候选人是atime,这是读取的时间,这可能比open的时间晚。

相关内容

  • 没有找到相关文章