[应用相关] Fatfs f_write如何写入回车换行?

[复制链接]
13574|24
铜牌之路 发表于 2015-6-21 10:26 | 显示全部楼层
chenci2013 发表于 2015-6-21 10:22
使用sprintf 将 你的数据转换字符串就直接写就行了。

        if(Y)       
        {
                sprintf(distance_str, "%5d %5d %5d %5d\r\n", h,H,C,t);//¼ÓÈë»»Ðзû\nsd¿¨ÖÐûÓÐÊý¾Ý
                         res=f_open(&file,"/count.txt",FA_OPEN_ALWAYS); //´ò¿ª»òÕßн¨Îļþ¼Ð
          if(res==FR_OK)
         {
         f_open(&file, "/count.txt", FA_WRITE | FA_CREATE_ALWAYS);
          {
                        res=f_write(&file, distance_str, sizeof(distance_str),&bw);
                //        f_lseek(&file,f_size(&file));
                        //res=f_write(&file, distance_str, 30,&bw);//30³¤¶È
                }
          f_close(&file);
         }
  }        是这样吗?
铜牌之路 发表于 2015-6-21 10:31 | 显示全部楼层
chenci2013 发表于 2015-6-21 10:22
使用sprintf 将 你的数据转换字符串就直接写就行了。

已经转换了,我的意思是我要写多组数据,后面的总是覆盖前面的。不知道怎么弄,哎
chenci2013 发表于 2015-6-21 10:35 | 显示全部楼层
铜牌之路 发表于 2015-6-21 10:31
已经转换了,我的意思是我要写多组数据,后面的总是覆盖前面的。不知道怎么弄,哎 ...

f_lseek (,文件大小) 找到文件大小
chenci2013 发表于 2015-6-21 10:35 | 显示全部楼层
这样就可以了。
铜牌之路 发表于 2015-6-21 10:46 | 显示全部楼层
                 if(Y)       
        {
                sprintf(distance_str, "%5d %5d %5d %5d\r\n", H,h,C,t);//¼ÓÈë»»Ðзû\nsd¿¨ÖÐûÓÐÊý¾Ý
                         res=f_open(&file,"/count.txt",FA_OPEN_ALWAYS); //´ò¿ª»òÕßн¨Îļþ¼Ð
          if(res==FR_OK)
         {
         f_open(&file, "/count.txt", FA_WRITE | FA_CREATE_ALWAYS);
          {
                        f_lseek(&file,f_size(&file));
                        res=f_write(&file, distance_str, sizeof(distance_str),&bw);
                        //res=f_write(&file, distance_str, 30,&bw);//30³¤¶È
                }
          f_close(&file);
         }
  }       
还是不行,还是只显示最后一组数据
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部