读取csv文件作为命令行参数,将内容打印到输出csv文件中

时间:2018-03-12 08:09:04

标签: c unix

我有一个编程挑战,我必须在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文件中?

0 个答案:

没有答案