最近在用LM3S8962利用FAT文件系统对SD卡进行读写操作,可以实现对文件读写操作,但发现了一个问题,用如下代码只能实现在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的数据,现在对这个文件进行续写,但是不能将以前的内容覆盖掉。如何实现,请教下高手。 |