Часть кода предоставлена моим учителем из-за вспышки короны, и он не отвечает на электронные письма, которые я застрял.
Код, который он предоставил, был таким:
printf("Removing old data in array...");
free(myCities);
myCities = readFromBinFile(&nrOfCitiesAdded);
...
struct city *readFromBinFile(int *nrOfCities){
struct city *temp = NULL;
FILE *fp = fopen("/Users/cul01/Desktop/minTextFil","rb");
if(fp == NULL)
printf("Could not open file\n");
else {
printf("Reading from file...\n");
fread(nrOfCities, sizeof(int), 1, fp);
temp = (struct city*)calloc(*nrOfCities, sizeof(struct city));
if(temp == NULL)
printf("Error allocating memory");
else
fread(temp, sizeof(struct city), *nrOfCities, fp);
}
fclose(fp);
return temp;
}
Теперь все работает как надо, но когда я добавляю город, а затем пытаюсь загрузить файл, который не существует, а затем добавить другой город, и распечатайте это, я получаю такие вещи, как этот 9e 10267 iles\Common manch
, но другой город в порядке, это только первый, который застрял. Если требуется больше кода, я с удовольствием предоставлю его.