如何在打开文件后使用getpagesize(2)来获取文件的大小

时间:2012-09-24 03:52:07

标签: c unix

我有一个文件hello.txt 和指向文件的指针* i,我已经使用c open(* i)函数打开了文件。我想使用getpagesize(2)获取文件的大小来读取文件的内容,并进一步将该内容写入目标文件。所以要求我现在需要的文件大小文件有多大以及有多少内容可供阅读。

2 个答案:

答案 0 :(得分:0)

getpagesize只告诉你系统内存页面有多大;它与文件无关。你应该看看stat电话;它可以满足您的需求。

如果在FILE *上操作,您可以使用fseek(f, 0, SEEK_END)ftell(f)来确定文件的持续时间。

答案 1 :(得分:0)

如果您使用open系统函数打开文件,则应查看fstat函数以获取大小:

int fd = open(...);

struct stat st;
fstat(fd, &st);

printf("File size: %ld bytes\n", st.st_size);