在移植文件系统的时候,已经选了长文件名,现在打开英文长文件名已经没问题了,但是打开中文文件就不行,不知道出现什么问题了;附源码:if(f_opendir(&dir,"/") == FR_OK)
while(f_readdir(&dir, &finfo) == FR_OK)
{ /* 读目录信息到文件状态结构体中 */
if(!finfo.fname[0]) break; /* 如果文件名为 0,结束 */
//if(fno.fattrib == AM_ARC )
/* 如果读取的文件只有存档属性 */
{
printf("文件名:%s\r\n", (*finfo.lfname ?finfo.lfname : finfo.fname));
sprintf(path,"%s","/");//拼凑文件绝对路径
strcat(path,"/");
strcat(path,finfo.lfname);
printf("%s\n",path);
res = f_open(&fsrc,path,FA_WRITE | FA_OPEN_EXISTING);
if(res!=FR_OK)
printf("file open fail\n");
res = f_read(&fsrc,buffer,50,&br);
printf("%s\n",buffer);
if(res!=FR_OK)
printf("file READ fail\n");
}
}
|