当前位置: 代码迷 >> 单片机 >> 创设txt文档,莫名的错!
  详细解决方案

创设txt文档,莫名的错!

热度:88   发布时间:2016-04-28 15:34:57.0
创建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) ;
  相关解决方案