首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

FILE读文件如何一会儿就出错了

2012-04-06 
FILE读文件怎么一会儿就出错了?#include stdio.h#include sys\stat.hvoid main(){struct stat sint r

FILE读文件怎么一会儿就出错了?
#include <stdio.h>
#include <sys\stat.h>

void main()
{
struct stat s;
int ret = stat("1.mp3",&s); 
int len = s.st_size;
FILE *f = fopen("1.mp3","r");
unsigned char buf[5000];
unsigned int size = 5000;
while(len > 0){
ret = fread(buf,512,SEEK_CUR,f);
len -= 512;
}
fclose(f);
}
只读了几次就出错了.
怎么搞?

[解决办法]
FILE *f = fopen("1.mp3","r");
====================================
mp3这样的文件,最好以"rb"二进制的方式打开,不过不肯定因为这个造成后面读取出错 


-----------------------

在linux下,文件都是以字节流对待的.即r和rb是一样的.rb只是为了兼容其它系统.


在windows下,r和rb是不同的.要还成rb
看楼主
#include <sys\stat.h> 
应该是在windows下吧.

热点排行