c语言对表格文件进行操作
时间: 2024-09-20 20:08:28 浏览: 27
在C语言中,处理表格文件通常涉及读取和写入文本文件,因为标准库函数如`fopen()`, `fclose()`, `fread()`, 和 `fwrite()` 可以用来完成这样的任务。对于简单的二维数据,比如逗号分隔值(CSV)文件,可以逐行解析并存储为数组或结构体。
例如,你可以创建一个结构体来表示表格的一行:
```c
typedef struct {
int col1;
float col2;
char* col3; // 使用指针存储字符串列
} TableRow;
```
然后使用循环来打开文件、读取每一行,解析成TableRow对象,并存储到动态分配的内存里,例如:
```c
TableRow* table = malloc(num_rows * sizeof(TableRow));
FILE* file = fopen("data.csv", "r");
for (int i = 0; i < num_rows && fgets(line, sizeof(line), file); i++) {
char* token = strtok(line, ",");
if (!token) break;
table[i].col1 = atoi(token);
table[i].col2 = atof(strtok(NULL, ",")); // 下一个token
table[i].col3 = strdup(token); // 处理字符串列
}
fclose(file);
```
当你需要修改文件内容时,可以用类似的方式将数据写回文件:
```c
FILE* file = fopen("data.csv", "w");
for (int i = 0; i < num_rows; i++) {
fprintf(file, "%d,%f,'%s'\n", table[i].col1, table[i].col2, table[i].col3);
}
fclose(file);
free(table);
```
阅读全文