读写 CSV 第二行第三列数据
时间: 2024-11-23 08:39:23 浏览: 7
java读写csv文件
5星 · 资源好评率100%
在C语言中,处理CSV文件通常涉及到逐行解析文件,然后通过逗号分割每一项数据。如果你想读取第二行的第三列数据,你需要先读取整行内容,再按逗号切分这个字符串。假设已有一个`read_from_csv`函数可以读取整个文件并返回一个字符串列表,我们可以这样做:
```c
// 假设csv_data是一个包含字符串数组的结构体,比如上面例子中的StringList
char** csv_data = read_from_csv("data.csv");
if (csv_data) {
size_t row_count = csv_data->size;
for (size_t i = 0; i < row_count; i++) {
char* rowData = csv_data->data[i];
char* tokens = strtok(rowData, ","); // 分割每一项
if (tokens != NULL && i > 0 && tokens[0] != '\0') { // 第二行及以上
char* third_column = strtok(NULL, ","); // 从第一个非空元素开始找第三个
if (third_column) {
printf("第二行第三列的数据是: %s\n", third_column);
free(third_column);
}
}
free(tokens);
}
free(csv_data);
}
```
这段代码首先找到第二行(索引为1),然后使用`strtok`函数查找该行的第三列。注意,`strtok`每次都会修改原始字符串,所以我们需要在内部循环结束后释放`tokens`以回收内存。
阅读全文