我想要使用Fatfs修改csv文件第二行第二列的值,应该怎么去做,请给出具体的代码实现
时间: 2023-04-02 10:04:59 浏览: 126
python pands实现execl转csv 并修改csv指定列的方法
您好,您可以使用以下代码实现您的需求:
```c
#include "ff.h"
int main(void)
{
FIL file;
FRESULT res;
char buffer[512];
UINT br, bw;
int row = 1; // 第二行
int col = 1; // 第二列
char newValue[] = "new value"; // 新的值
// 打开文件
res = f_open(&file, "test.csv", FA_READ | FA_WRITE);
if (res != FR_OK) {
// 打开文件失败
return -1;
}
// 读取文件内容
res = f_read(&file, buffer, sizeof(buffer), &br);
if (res != FR_OK) {
// 读取文件失败
f_close(&file);
return -1;
}
// 定位到指定位置
int pos = ;
for (int i = ; i < row - 1; i++) {
// 跳过前 row - 1 行
while (buffer[pos] != '\n' && pos < br) {
pos++;
}
pos++; // 跳过 '\n'
}
for (int i = ; i < col - 1; i++) {
// 跳过前 col - 1 列
while (buffer[pos] != ',' && buffer[pos] != '\n' && pos < br) {
pos++;
}
pos++; // 跳过 ',' 或 '\n'
}
// 写入新的值
res = f_write(&file, newValue, sizeof(newValue), &bw);
if (res != FR_OK) {
// 写入文件失败
f_close(&file);
return -1;
}
// 关闭文件
f_close(&file);
return ;
}
```
以上代码使用 FatFs 库打开指定的 CSV 文件,然后定位到第二行第二列的位置,将其替换为新的值。请注意,这只是一个示例代码,您需要根据实际情况进行修改。
阅读全文