当前位置: 代码迷 >> C语言 >> 求二进制文件的长度
  详细解决方案

求二进制文件的长度

热度:264   发布时间:2004-12-29 15:22:00.0
求二进制文件的长度

请问c语言下,用fopen打开的文件怎么求文件的长度 if((fp=fopen("1.PMS","rb+"))==NULL) { printf("cannot open file\n"); return; }

int group=0,index=0; for(int i=0;i<700;i++) { long ii = group * 1580 + index * 60 + 3010; fseek(fp,ii,0); fread(&words[i],sizeof(struct wordlib),1,fp); words[i].word[19] = '\0'; words[i].phon[19] = '\0'; words[i].chin[19] = '\0'; index++; while(index==25) { index=0; group++; } printf("%s %s %s\n",words[i].word,words[i].phon,words[i].chin); wordstore[N1]=words[i].word; phonstore[N1]=words[i].phon; chinstore[N1]=words[i].chin; N1++; } fclose(fp); 怎么求这个1。PMS的字节长度 我想判断文件的长度才能准确控制循环,请大吓们帮帮忙,谢谢!

搜索更多相关的解决方案: 二进制  文件  words  长度  

----------------解决方案--------------------------------------------------------
补充:
我试过filelen,getlength,LoF,都显示错误,怎么用getposition返回一个指向末端的指针呀,,请帮帮忙,急!
----------------解决方案--------------------------------------------------------

1。去看一下文件指针的结构,尾指针-首指针

2。自己计算,看看我发的《打造你自己的编译器--MYTC>

3.可直接读取文件目录项中文件长度


----------------解决方案--------------------------------------------------------
这还不容易,我用过这个

int FileLen;
//把指针定位到文件尾,前提是在前面要正确的打开文件fp
fseek(fp,0L,SEEK_END);

//读取指针位置,也就是文件长度(因为指针在文件尾)
FileLen=ftell(fp);

// 重置指针到文件头,以便以后使用fp读取文件
rewind(fp);
----------------解决方案--------------------------------------------------------
帮不上忙,I'SORRY.....
----------------解决方案--------------------------------------------------------
这墓掘的。。。。
----------------解决方案--------------------------------------------------------
  相关解决方案