用C语言写一个读取csv格式文件并运算后保存成另一个csv格式文件的代码
时间: 2024-02-18 07:59:33 浏览: 143
以下是一个简单的 C 语言代码,可以读取指定的 CSV 文件,对其中的数据进行运算,将结果保存到另一个 CSV 文件中。
假设 CSV 文件中包含两列数据,第一列是数字,第二列是该数字的平方。我们要对第一列数据进行加倍处理,即将每个数字乘以 2,然后计算新的平方,并将结果保存到另一个 CSV 文件中。
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LINE_LEN 1024
int main() {
char input_filename[] = "input.csv"; // 输入文件名
char output_filename[] = "output.csv"; // 输出文件名
FILE *input_file = fopen(input_filename, "r"); // 打开输入文件
if (input_file == NULL) {
printf("Failed to open file %s\n", input_filename);
return 1;
}
FILE *output_file = fopen(output_filename, "w"); // 创建输出文件
if (output_file == NULL) {
printf("Failed to create file %s\n", output_filename);
return 1;
}
char line[MAX_LINE_LEN];
while (fgets(line, MAX_LINE_LEN, input_file) != NULL) {
char *token = strtok(line, ","); // 分割行中的数据
int num = atoi(token); // 第一列数据
// 将数字加倍,计算新的平方
int result = 4 * num * num;
// 将结果写入输出文件
fprintf(output_file, "%d,%d\n", num, result);
}
fclose(input_file); // 关闭输入文件
fclose(output_file); // 关闭输出文件
printf("Done!\n");
return 0;
}
```
这里使用了 `fopen` 函数打开输入文件和创建输出文件,并使用 `fgets` 函数逐行读取输入文件中的数据。然后使用 `strtok` 函数分割每行数据,并使用 `atoi` 函数将第一列数据转换为整数,进行运算得到新的结果,并使用 `fprintf` 函数将结果保存到输出文件中。最后关闭输入文件和输出文件。
阅读全文