我有一个 hello.txt 文件和一个指向该文件的指针 *i,我使用 c open(*i) 函数打开了该文件。我想使用 getpagesize(2) 读取文件的内容并进一步将该内容写入目标文件来获取文件的大小。所以得到我现在需要的文件大小,文件有多大,有多少内容要读取。
问问题
239 次
2 回答
0
getpagesize
仅告诉您系统上的内存页有多大;它与文件无关。你应该看看stat
电话;它可以满足您的需要。
如果在 上操作FILE *
,您可以使用fseek(f, 0, SEEK_END)
和ftell(f)
来计算文件的长度。
于 2012-09-24T04:40:31.363 回答
0
如果您使用open
系统函数打开文件,则应查看该fstat
函数以获取大小:
int fd = open(...);
struct stat st;
fstat(fd, &st);
printf("File size: %ld bytes\n", st.st_size);
于 2012-09-24T05:51:45.127 回答