帮我写一段Fatfs修改csv中的数据的代码
时间: 2023-04-04 08:02:07 浏览: 148
STM32实现SD卡的fatfs文件系统,写数据生成.csv文件
4星 · 用户满意度95%
好的,以下是一段修改 csv 文件中数据的代码,使用了 Fatfs 文件系统:
```c
#include "ff.h"
FRESULT modify_csv_data(const char* filename, const char* target_data, const char* new_data) {
FRESULT res;
FIL file;
UINT br, bw;
char buf[512];
// 打开文件
res = f_open(&file, filename, FA_READ | FA_WRITE);
if (res != FR_OK) {
return res;
}
// 读取文件内容
res = f_read(&file, buf, sizeof(buf), &br);
if (res != FR_OK) {
f_close(&file);
return res;
}
// 在文件内容中查找目标数据
char* p = strstr(buf, target_data);
if (p == NULL) {
f_close(&file);
return FR_NO_FILE;
}
// 将新数据写入文件
res = f_lseek(&file, p - buf);
if (res != FR_OK) {
f_close(&file);
return res;
}
res = f_write(&file, new_data, strlen(new_data), &bw);
if (res != FR_OK) {
f_close(&file);
return res;
}
// 关闭文件
f_close(&file);
return FR_OK;
}
```
以上代码可以打开指定的 csv 文件,查找其中的目标数据并将其替换为新数据。如果文件不存在或者读写出错,会返回相应的错误码。
阅读全文