读书人

创造txt文档,莫名的错!

发布时间: 2012-09-12 09:21:30 作者: rapoo

创建txt文档,莫名的错!!!
不知道为什么指定文件有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);
看看

读书人网 >单片机

热点推荐