请问各位大神,我在使用STM32F103ZET6 移直FatFs R0.12、FatFs R0.12a 和 FatFs R0.12b版本时,通过判断(fno.fattrib & AM_ARC) 和(fno.fattrib & AM_DIR)来辨别读取指定目录下的文件类别时,有时候会读到fno.fattrib=0x00;特别是中文文件和中文文件夹时,就不能识别他的类型,请问有什么办法可以解决?
这是源代码
unsigned char CheckUpDataFiles( void ){
u8 res = 0;
if(f_opendir(&dir,"0:/") == FR_OK) { // 打开 文件夹成功
while(f_readdir(&dir, &fno) == FR_OK) { // 读目录信息到文件状态结构体中
if(!fno.fname[0]) break; // 0,结束
if(fno.fattrib & AM_ARC ) { // // 如果是文件
USART1_printf("文件 %s
",fno.fname);
}
else if(fno.fattrib & AM_DIR ) {// 如果是文件夹
USART1_printf("文件夹 %s
",fno.fname);
}
else{
USART1_printf("错误%d %s
",fno.fattrib,fno.fname);
}
}
f_closedir(&dir);//关闭目录
}
else{
USART1_printf("文件打开失败
");
}
return 0;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>