文件描述符中可以得到文件的大小吗
时间: 2024-05-11 21:19:05 浏览: 129
LINUX输入输出与文件
可以通过文件描述符获取文件的大小。可以使用文件描述符调用 `fstat` 函数,该函数将文件的元数据(包括文件大小)存储在一个结构体中,并返回该结构体。下面是一个示例代码:
```c
#include <stdio.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int main() {
int fd = open("example.txt", O_RDONLY);
struct stat st;
fstat(fd, &st);
off_t size = st.st_size;
printf("File size: %ld bytes\n", size);
close(fd);
return 0;
}
```
在上面的示例中,我们打开一个名为 `example.txt` 的文件,并使用 `fstat` 函数获取其元数据。然后,我们从返回的结构体中提取了文件大小,并将其打印出来。最后,我们关闭了文件描述符。
阅读全文