如何在FAT文件系统中实现续写一个文件

2019-03-24 15:03发布

最近在用LM3S8962进行文件系统的操作,可以实现对文件读写操作,但发现了一个问题,用如下代码只能实现在SD卡中一行数据: while(1) {             f_mount(0, &fs);
      res = f_open(&fdst, "dstfile.txt", FA_OPEN_ALWAYS | FA_WRITE);
      int len = strlen(buffer);
      res = f_write(&fdst, buffer,len , &bw);
      f_sync(&fdst);         
      f_close(&fdst);
      f_mount(0, NULL); } 结果在SD卡中只有一行数据       f_mount(0, &fs);
      res = f_open(&fdst, "dstfile.txt", FA_OPEN_ALWAYS | FA_WRITE);
      int len = strlen(buffer);       while(1)      {          res = f_write(&fdst, buffer,len , &bw);
          f_sync(&fdst);       }              
      f_close(&fdst);
      f_mount(0, NULL); 可以实现多行的写操作。我想实现的是,对一个文件进行续写,比如说一个文件现在里面有1K的数据,现在对这个文件进行续写,但是不能将以前的内容覆盖掉。如何实现,请教下高手。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2条回答
Study_Stellaris
2019-03-24 22:03
< 可能需要在用  fs_open 打开文件以后,调用 f_lseek,具体可以看一下 f_lseek 函数的用法。

一周热门 更多>

相关问题

    相关文章