使用fscanf读取和写入文件

时间:2017-08-26 09:01:30

标签: c file-io char segmentation-fault

我正在尝试使用这种格式读取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;

0 个答案:

没有答案