Символы (\ 342 \ 200 \ 252), которые вы видите, являются восьмеричными для 226, 128 и 170. Они не соответствуют символам, которые вы случайно набрали во входном файле.Я бы порекомендовал проверить ваш входной файл с помощью шестнадцатеричного редактора и посмотреть, нет ли там мусора.
Если нет, вы можете попробовать изменить способ чтения файла, чтобы увидеть, есть ли сбой в вашемкод, например, вы можете попробовать fscanf (что обычно не является предпочтительным):
FILE *iF = fopen("input.txt", "r");
if (fscanf(iF, "%d\n", &interval) != 1)
{
fprintf(stderr, "Error parsing interval.\n");
fclose(iF);
return;
}
while (! feof(iF))
{
cur = (P *)malloc(sizeof(P));
if (fscanf(iF, "%c %d %u\n",&cur->jobName, &cur->arrivalTime, &cur->execTime) != 3)
{
fprintf(stderr, "Error parsing line.\n");
free(cur);
break;
}
add_to_list(head,cur);
}
Однако, поскольку другие опубликовали несколько методов, которые работают для них, а не для вас, входной файл, безусловно, является кандидатомошибка.