我的csv文件格式如下:
name,birthmonth,country,hobby
jack,jan,england,soccer
roben,july,germany,soccer
emma,dec,china,tennis
yannick,sep,france,music
alex,nov,england,cricket
thomas,apr,germany,tennis
mike,oct,netherlands,cycling
michelle,feb,france,poetry
yui,mar,japan,coding
feng,jun,china,reading
我想使用C解析此文件,并以连续的方式将所有具有相同国家/地区的行放入,如下所示:
name,birthmonth,country,hobby
jack,jan,england,soccer
alex,nov,england,cricket
roben,july,germany,soccer
thomas,apr,germany,tennis
emma,dec,china,tennis
feng,jun,china,reading
yannick,sep,france,music
michelle,feb,france,poetry
mike,oct,netherlands,cycling
yui,mar,japan,coding
到目前为止,我已尝试过以下代码,但无法正确匹配并继续进行:
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
#include<fcntl.h>
#include<string.h>
int main (int argc, char **argv) {
//int line;
char line[200];
char *inputFile = argv[1];
FILE *input_csv_file;
char a,b,c,d,e;
input_csv_file = fopen(inputFile, "rt");
if(input_csv_file ==0) {
printf("Can not open input file \n");
}
else {
//while((line = fgetc(input_csv_file)) != EOF) {
while(fgets(line, sizeof line, input_csv_file) != NULL) {
printf ("line = %s\n", line);
if(sscanf(line, "%s,%s,%s,%s,%s", a,b,c,d,e)) {
//if(sscanf(line, "%[^,], %[^,], %[^,], %[^,], %[^,]", a,b,c,d,e)) {
printf("d=%s\n",d);
}
}
}
return 0;
}
我是C / C ++的新手。任何帮助将非常感激 感谢。
答案 0 :(得分:0)
我可以编写代码以获取所需的输出。下面是代码:
let a = {
a:1,
b:2,
c:3
}
let b = a;
console.log(a); // output { a: 1, b: 2, c: 3 }
delete b.a;
console.log(a) // Expected output { a: 1, b: 2, c: 3 } -- Actual output { b: 2, c: 3 }
感谢您的所有投入。任何进一步的改进都值得赞赏。
谢谢