Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1070892
  • 博文数量: 121
  • 博客积分: 2021
  • 博客等级: 上尉
  • 技术积分: 1467
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-29 21:47
个人简介

简约而不简单。

文章分类

全部博文(121)

文章存档

2017年(1)

2016年(4)

2015年(2)

2014年(24)

2013年(33)

2012年(13)

2011年(25)

2010年(13)

2009年(6)

分类: 嵌入式

2014-10-25 12:36:09

1. fafs对长文件名的支持。
    a). 首先要修改ffconfig.h中的
#define    _USE_LFN    1        /* 0 to 3 */
#define    _MAX_LFN    255        /* Maximum LFN length to handle (12 to 255) */
    b). 在文件信息定义的地方增加以下代码:
#if _USE_LFN
    static char lfn[_MAX_LFN * (_DF1S ? 2 : 1) + 1];
    finfo.lfname = lfn;
    finfo.lfsize = sizeof(lfn);
#endif
    编译的时候会提示_DF1S没有定义,则在文件中定义:
#define _DF1S   0x81
    c). 文件名的获取:
        if(f_opendir(&dirs, (const TCHAR*)path) == FR_OK)                          //读取该磁盘的根目录
    {
        while (f_readdir(&dirs, &finfo) == FR_OK)                //循环依次读取文件名
        {
            if(!finfo.fname[0])
                break;                           //如果是文件名为空表示到目录的末尾。退出
            if(finfo.lfname[0])             //输出长文件名
            {
                printf("file lname:%s\r\n",finfo.lfname);            //输出长文件名
                result1=strstr(finfo.lfname,".mp3");         //比较后缀是否为音频文件
                result2=strstr(finfo.lfname,".mid");         //比较后缀是否为音频文件
                result3=strstr(finfo.lfname,".wav");         //比较后缀是否为音频文件
                result4=strstr(finfo.lfname,".wma");         //比较后缀是否为音频文件
                if(result1!=NULL||result2!=NULL||result3!=NULL||result4!=NULL)
                {
                    strcpy(fName[frIndex],"1:Audio/");
                    strcat(fName[frIndex++],finfo.lfname);
                }
            }
            else
            {
                printf("file name:%s\r\n",finfo.fname);            //输出8.3格式文件名
                result1=strstr(finfo.fname,".mp3");      //比较后缀是否为音频文件
                result2=strstr(finfo.fname,".mid");      //比较后缀是否为音频文件
                result3=strstr(finfo.fname,".wav");      //比较后缀是否为音频文件
                result4=strstr(finfo.fname,".wma");      //比较后缀是否为音频文件
                if(result1!=NULL||result2!=NULL||result3!=NULL||result4!=NULL)
                {
                strcpy(fName[frIndex],"1:Audio/");
                strcat(fName[frIndex++],finfo.fname);
                }
            }
        }
    }
阅读(2013) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~