大家好,使用FATFS在SD卡内创建一个文件夹,在文件夹内在新建一个文本文件,新建文本文件时候出现失败。程序如下:
传入的参数是SD卡根目录创建的文件夹名,程序能够新建文件夹和打开文件夹,到了新建文本文件的时候就失败,还请各位朋友指点下。
u8 Fatfs_Write(char *path)
{
u8 res;
DIR dirw;
FIL *filea;
char filname[60];
res=f_mkdir(path); //在一个盘内创建一个文件夹
if(res!=FR_OK)
{
LCD_ShowString(30,250,200,16,16,"Creat File Fail");
return 1;
}
LCD_ShowString(30,250,200,16,16,"Creat File OK ");
res=f_opendir(&dirw,path);//打开文件夹
if(res!=FR_OK)
{
LCD_ShowString(30,270,200,16,16,"Open File Fail");
return 2;
}
LCD_ShowString(30,270,200,16,16,"Open File OK ");
strcpy(filname,path);
strcat(filname,"/rwfile.txt");
res=f_open(filea,path,FA_CREATE_ALWAYS|FA_WRITE|FA_OPEN_ALWAYS); //在创建的文件夹内新建一个.txt文件
if(res!=FR_OK)
{
LCD_ShowString(30,290,200,16,16,"NEW File Fail");
return 3;
}
LCD_ShowString(30,290,200,16,16,"NEW File OK ");
f_write(filea,text,strlen(text),&bw);
f_close(filea);
f_closedir(&dirw);
return 0;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
不打开创建的文件夹怎么在里面新建文本文件呢?直接写目录名好像就没有什么意义了吧
关键可能不是在此。
res=f_open(filea,path,FA_CREATE_ALWAYS|FA_WRITE|FA_OPEN_ALWAYS);
你看一下返回值是什么,代表的是什么错误。
FA_CREATE_ALWAYS,FA_OPEN_ALWAYS这两个同时用是不是有问题?我也不清楚。用其中之一就可以了吧
一周热门 更多>