int filesize(FILE * handle)
{
int filesize;
int old_pointer = ftell(handle);
fseek(handle, 0, SEEK_END);
filesize = ftell(handle);
fseek(handle, old_pointer, SEEK_SET);
return filesize;
}
這是函數返回文件大小的好方法嗎?返回文件大小的函數?
更好的POSIX替代品是'fseeko'和'ftello'。使用'stat'系列將無法正確獲取塊設備和其他非普通文件的大小。 – 2012-01-11 03:20:29
而且你不能在終端或管道上尋找......有各種各樣的限制。 – 2012-01-11 03:39:35
如果文件沒有大小,詢問大小不是一個有意義的操作。只要答案存在,我的方法就會給出正確答案。 – 2012-01-11 04:03:13