Ooh!Это ужасная проблема.
У вас есть этот код, чтобы убедиться, что ваш файл имеет правильный размер;своего рода «проверка отладки».
//variables
int size = 0;
int ch = 0;
while(!feof(myFile))
{
ch = fgetc(myFile);
if(ch == '\n') {
size++;
}
}
//check that the right number of lines is shown
printf("size is %d",size);
Но на самом деле это является причиной ошибки, так как она «использует» весь файл, то есть значения никогда не загружаются из файла, и вы простополучить все, что было сохранено в этой памяти заранее.
Чтобы это исправить, удалите проверочный код или добавьте эту строку в конце (до или после printf
):
rewind(myFile);
Это возвращает к началу файла, так что вы можете прочитать фактические данные из него.Вы могли бы также использовать:
fseek(myFile, 0, SEEK_SET);
, который делает то же самое.
Пока я в этом, я просто исправлю ваш scanf
line:
fscanf(myFile, "%d,%d\n", &xArray[i], &yArray[i]);
Вам нужен символ в конце строки формата, потому что между строками есть '\n'
.