【求助】
这是代码,是从一个csv文件中读取数据。程序能读出数据赋给结构数组,但是会有断点且每次读出的数据不完全相同。还有之前还会出现list entry已损坏,请问这是哪里出错了呀。
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019061719490529.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0Nzg5MzE3,size_16,color_FFFFFF,t_70)
在这里插入代码片
```#define _CRT_SECURE_NO_WARNINGS
#include"stdio.h"
#include"stdlib.h"
#include"iostream"
using namespace std;
typedef struct
{
char* Country;
char* City;
double B;
double L;
}Location, *Loc;
void GetDataFromCSV(char*path, Loc& LocData)
{
FILE*fp = fopen(path, "r");
if (!fp)
{
printf("FileOpenFailed!");
exit(0);
}
char Line[256] = {0};
int i = 0;
const char *Comma = ",";
while (!feof(fp))
{
fgets(Line, 256, fp);
LocData[i].Country = strtok(Line, Comma);
LocData[i].City = strtok(NULL, Comma);
LocData[i].B = atof(strtok(NULL, Comma));
LocData[i].L = atof(strtok(NULL, Comma));
cout << LocData[i].Country << endl << LocData[i].City << endl << LocData[i].B << endl << LocData[i].L << endl;
i++;
}
fclose(fp);
}
int main()
{
Loc v=new Location;
char path[] = "cities.csv";
GetDataFromCSV(path, v);
for (int i = 0; i < 199; i++)
cout << v[i].Country <<endl<< v[i].City <<endl<< v[i].B <<endl<< v[i].L << endl;
delete v;
}