C/C++ 二进制文件读取的问题

C/C++用什么函数,实现取得一个二进制文件的大小,请请写出一个例子,谢谢,请在今天之内答复。呵呵谢谢两位,但是我们要求使用的函数里面不可以用ftell函数,看看是否有通... C/C++ 用什么函数,实现取得一个二进制文件的大小,请请写出一个例子,谢谢,请在今天之内答复。
呵呵 谢谢两位,但是我们要求使用的函数里面不可以用ftell函数,看看是否有通过指针做差的办法实现
展开
 我来答
ryw12403
2008-08-14 · TA获得超过1899个赞
知道大有可为答主
回答量:2501
采纳率:0%
帮助的人:2084万
展开全部
#include <stdio.h>
main(){
FILE *fp;
long len;
fp=fopen("filename","rb");
fseek(fp,0L,SEEK_END);把文件指针指向末尾。
len=ftell(fp);传回指针移动量,就是文件长
fclose(fp);
printf("file have %ld char.");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
iceser
2008-08-14 · TA获得超过2708个赞
知道大有可为答主
回答量:695
采纳率:100%
帮助的人:443万
展开全部
那可以用 fgetpos 函数么?

FILE * fp;
fpos_t fpos_end;
fp = fopen( "C:\\response.txt", "r+b" );
if( fp != NULL )
{
fgetpos( fp, &fpos_end );
printf( "file length : %ld\n", fpos_end + 1 );
fclose( fp );
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kroodylove
2008-08-14 · TA获得超过866个赞
知道小有建树答主
回答量:957
采纳率:100%
帮助的人:1095万
展开全部
#include <stdio.h>

FILE *stream;

void main( void )
{
long position;
char list[100];
if( (stream = fopen( "ftell.c", "rb" )) != NULL )
{
fseek( stream, 0, SEEK_END);
position = ftell( stream );
printf( "Position : %ld\n",position );
fclose( stream );
}
}

有问题问我,good luck
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式