0

我正在使用 ASF 中包含的 SAMG55 和 FatFS 库,一切似乎都正常工作,但是当我尝试定期将数据附加到文件时,它只能在第一次工作。我的意思是,如果我的文件大小为 100,则微控制器第一次打开文件时说大小为 100,但随后我写了一行并关闭文件。下次我在不重新启动微控制器的情况下打开它时,它说大小始终为 4,行长于 4 个字节。

这是我正在使用的代码:

f_open(&file_object, (char const *)test_file_name, FA_OPEN_ALWAYS | FA_WRITE );
f_lseek(&file_object, file_object.fsize);
f_printf(&file_object, " Some data line \r\n");
f_close(&file_object);

您对正在发生的事情有任何想法吗?

谢谢

4

1 回答 1

0

f_open()中,使用标志FA_OPEN_APPEND而不是FA_OPEN_ALWAYS。那么你不必使用f_lseek(). 所以试试这个:

f_open(&file_object, (char const *)test_file_name, FA_OPEN_APPEND | FA_WRITE );
f_printf(&file_object, " Some data line \r\n");
f_close(&file_object);
于 2017-04-17T21:12:49.843 回答