不知道为什么指定文件有txt文件并且文件不能是o字节,就可以写,0字节就会导致存储盘出错,要求你再pc端格式化(只是说没有格式化,而且不知为什么不能追加!!!)
if(!DRV_ActiveUD(0,MODE_SLOW))
{
goto ExitFileSys;
}
if(!DRV_ActiveDrive('C', MODE_SLOW))
{
goto ExitFileSys;
}
if (!FS_Init())
{
SetTextPos(16 ,20) ;
PutS("c",1) ;
goto ExitFileSys;
}
if(!FS_CD("\:"))
{
SetTextPos(20 ,20) ;
PutS("d",1);
goto ExitFileSys;
}
if (!FS_CD(RecordName))
{
SetTextPos(24 ,20) ;
PutS("e",1) ;
goto ExitFileSys;
}
fp = FS_FOpen(output_file, FS_OPEN_NORMAL);
if (fp == NULL) //可能是不存在
{
SetTextPos(28 ,20) ;
PutS("f",1);
UpdateScreen(NULL) ;
fp = FS_FCreate(output_file); //创建一个
/* fp = FS_FOpen(output_file,FS_OPEN_NORMAL);
if(fp == NULL)
{
SetTextPos(34 ,20) ;
PutS("k",1) ;
UpdateScreen(NULL) ;
goto ExitFileSys ;
}*/
}
if(!FS_FWrite(ptr , 1 ,fp))
{
SetTextPos(32 ,20) ;
PutS("g",1);
goto CloseFile ;
}
memset(ptr, '0' , sizeof(ptr)) ;
if(!FS_FRead(ptr , 0x01 , fp))
{
SetTextPos(36 ,20) ;
PutS("h",1) ;
goto CloseFile ;
}
FS_FClose(fp) ;
CloseFile: FS_FClose(fp);
ExitFileSys: FS_Exit();
UpdateScreen(NULL) ;
SetAsciiFont(FONT_TYPE_LARGE);
SetTextPos(24 ,36) ;
PutS(ptr,6) ;
UpdateScreen(NULL) ;
FS_FClose(fp) ;
------解决方案--------------------
额,新建了个TXT文件看了下,是0字节,那就不知道你的问题了
------解决方案--------------------
没做过,随便猜测下
fp = FS_FCreate(output_file); //创建一个
/* fp = FS_FOpen(output_file,FS_OPEN_NORMAL);
改成fp = FS_FOpen(output_file,FS_CREATE_ALWAYS);
或者 FS_Open(output_file,FS_CREATE);
看看