if (f_opendir(&dirs, path) == FR_OK)
{
while (f_readdir(&dirs, &finfo) == FR_OK)
{
if (finfo.fattrib & AM_ARC)
{
if(!finfo.fname[0])
break;
printf("\n\r file name is: %s\n",finfo.fname);
printf("\n\r file size is: %d ", finfo.fsize);
printf("\n\r 文件内容:\n\r");
if(File_type_Check( (u8 *)finfo.fname, "mp3"))//改为txt
{
res = f_open(&fsrc, finfo.fname, FA_OPEN_EXISTING | FA_READ);
i=0;
f_lseek(&fsrc,0);
BufferSet(buf1, 0, 256);
do
{
res=f_lseek(&fsrc,256*i);
res=f_read(&fsrc,buf1,256,&br);
printf("%s", buf1);
i++;
}
while(i< (finfo.fsize/256));
f_lseek(&fsrc,256*i);
BufferSet(buf1, 0, 256);
f_read(&fsrc,buf1,(finfo.fsize%256),&br);
if((finfo.fsize%256) !=0)
printf("%s", buf1);
f_close(&fsrc);
}
}
else
{
printf("\n\r Path name is: %s", finfo.fname);
continue;
}
}
}
为什么我用以上这段程序读TXT没问题,读MP3文件500多K ,才读出100多K,什么原因? |