我有一个编程挑战,我必须在csv文件中读取命令行参数(我的名字叫做NameAgeGpa.csv,有多行,如:John,19,3.5,其中名称是一个字符串(最多50个字符) ),年龄(最多3位)是一个int,gpa(小数点后2位的最大小数)是一个双倍)并将输出放入一个新的csv文件。到目前为止,我有一些代码用于读取csv文件并打印内容,但这些代码无法正常工作。它' S:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "main.h"
#include "parse.h"
int main(int argc, char* argv[])
{
FILE *fp;
char buff[61];
struct people *p;
int n, i=0;
fp = fopen(argv[1], "r");
n = atoi(argv[2]);
p = malloc(sizeof(struct people)*n);
while((fgets(buff, 61, fp) != NULL) && (i<n))
{
p[i] = parse_csv_line(buff);
++i;
}
fclose(fp);
n = i;
for(i = 0; i < n; ++i)
{
printf("Name: %s, Age: %d, GPA: %e\n", p[i].name, p[i].age, p[i].gpa);
}
free(p);
return 0;
}
我怎样才能让它工作,然后将内容放在一个新的csv文件中?