C/C++ 二进制文件读取的问题
C/C++用什么函数,实现取得一个二进制文件的大小,请请写出一个例子,谢谢,请在今天之内答复。呵呵谢谢两位,但是我们要求使用的函数里面不可以用ftell函数,看看是否有通...
C/C++ 用什么函数,实现取得一个二进制文件的大小,请请写出一个例子,谢谢,请在今天之内答复。
呵呵 谢谢两位,但是我们要求使用的函数里面不可以用ftell函数,看看是否有通过指针做差的办法实现 展开
呵呵 谢谢两位,但是我们要求使用的函数里面不可以用ftell函数,看看是否有通过指针做差的办法实现 展开
3个回答
展开全部
#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.");
}
main(){
FILE *fp;
long len;
fp=fopen("filename","rb");
fseek(fp,0L,SEEK_END);把文件指针指向末尾。
len=ftell(fp);传回指针移动量,就是文件长
fclose(fp);
printf("file have %ld char.");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那可以用 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 );
}
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 );
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询