如何得到文件大小?

anglely168 2002-10-24 08:58:59
我用fseek(fp,SEEK_END,SEEK_SET) or fseek(fp,SEEK_SET,SEEK_END)都不行!请教大家了!
...全文
57 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jyc_nj 2002-10-24
  • 打赏
  • 举报
回复
ifstream fin(strFileName);
fin.seekg(-1, ios::end);
m_nFileSize = fin.tellg();
zxm954712 2002-10-24
  • 打赏
  • 举报
回复
fseek是可以得,不过麻烦一点啊
下面是个例子,你看一下巴
#include <stdio.h>

long filesize(FILE *stream);

int main(void)
{
FILE *stream;

stream = fopen("MYFILE.TXT", "r");
printf("Filesize of MYFILE.TXT is %ld bytes\n", filesize(stream));
fclose(stream);
return 0;
}

long filesize(FILE *stream)
{
long length;

fseek(stream, 0L, SEEK_END);
length = ftell(stream);
printf("%ld\n", length);
return length;
}
blue_coco 2002-10-24
  • 打赏
  • 举报
回复
纯C

fp = fopen(...);
size = ftell(fp);
zhanghk 2002-10-24
  • 打赏
  • 举报
回复
c: _filelength
API: GetFileSize
huangwu007 2002-10-24
  • 打赏
  • 举报
回复
FILE* m_Handle;
struct stat buf;
m_Handle = fopen(...);

#ifdef VC
fstat(m_Handle->_file,&buf);
#else
#ifdef _SOLARIS
fstat(m_Handle->_file,&buf);
#else
#ifdef _REDHAT
fstat(m_Handle->_fileno,&buf);
#else
#ifdef _FreeBSD44
fstat(m_Handle->_file,&buf);
#else
fstat(m_Handle->fd,&buf);
#endif
#endif
#endif
#endif

buf.st_size就是文件的大小了
zhengguoshan 2002-10-24
  • 打赏
  • 举报
回复
好像有这个函数自己去查吧。。

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧