我正在尝试使用这种格式读取CSV文件。
902323;NewYork, newyork, US
43232;Mumbai, India
所以我试图读取整数值,然后将其他所有内容读入char,直到我点击新行。
我的代码是这样的:
datatype_t* read(FILE* fp, FILE* wfp)
{
int weight;
char *key;
if (fscanf(fp, "%[^;],%[^\n]",weight,key) == 2) {
printf("here\n");
datatype_t *d = (datatype_t*)malloc(sizeof(datatype_t));
if (d == NULL)
{
printf("No Space Allocated\n");
}
d->weight = strdup(weight);
d->key= strdup(key);
printf("%d", d->weight);
return d;
}
else{
printf("nothing\n");
}
return NULL;
}
所以我有两个来自main函数的文件,第一个是我读的文件,第二个是我写的文件。我在fscanf线上遇到了seg故障。
typedef struct{
int weight;
char *key;
}datatype_t;