主要代码如下
res=f_mkdir("0:loada");
if(!res)
{
res=f_mkdir("0:loada/num");
}
res=f_opendir(&dir,"loada/num");
if(res==FR_OK)
{
while(f_readdir(&dir,&fno))
{
if(!fno.fname[0])break;//if fil name is free
}printf("0:file name:%s\r\n",fno.fname);
}
res=f_open(&file,"0:loada/num/infomationaa.txt",FA_OPEN_ALWAYS|FA_READ|FA_WRITE);
if(res==FR_OK)
{
res=f_write(&file,buffer,sizeof(buffer),&bw);//第一次向空的infomationaa.txt里面写入buffer【11】="i love you!"
if(res==FR_OK)
{
res=f_read(&file,buff,sizeof(buff),&br);
if(res==FR_OK)
{
printf("%s\r\n",buff);
}
res=f_lseek(&file,(&file)->fsize);//移到文件夹末尾
{
if(!res){
res=f_write(&file,bufferr,sizeof(bufferr),&bw);//第二次向infomationaa.txt里面写入bufferr【11】="fffddddddd!"
if(res==FR_OK)
{
res=f_read(&file,buff,sizeof(buff),&br);
if(res==FR_OK)
{
printf("%s\r\n",buff);
}
f_printf(&file,"%d",19891025);
f_printf(&file,"%s","fuck!");
res=f_read(&file,buff,sizeof(buff),&br);
if(res==FR_OK)
{
printf("%s\r\n",buff);
}
}
}
}
}
}
f_close(&file);
如红字表示,在串口助手里面调试,发现第二次写入把第一次的数据覆盖了,这是怎么回事? |