У меня есть файл, который будет введен как этот
5
установить 1 1
установить 0 0
получить 0 0
получить 1 0
комп 1 0
По сути, первое число - это короткое значение без знака, а последующие строки - методы, которые моя программа выполнит. Числа разделены вкладками
if(pFile != NULL){
int i = 0;
while(!feof(pFile)){
line++;
fgets(input, 512, pFile);
if(line == 1){
x = atoi(&input[0]);
}
if(input[0] == 'g'){
n = atoi(&input[4]);
get(x,n);
}
if(input[0] == 's'){
n = atoi(&input[4]);
v = atoi(&input[6]);
set(n,v);
}
if(input[0] == 'c'){
n = atoi(&input[5]);
comp(n);
}
// if(input[0] == '\n'){
// printf("hi\n" );
// continue;
// }
// printf("n is: %d\n", n);
// x ^= (1<<n);
}
printf("There were %d lines\n",line );
fclose(pFile);
}
Это, по сути, весь мой основной метод. По какой-то причине всякий раз, когда я вводю новую строку в конце файла, последний метод тестового файла запускается дважды. Например, метод comp будет запущен дважды и даст один дополнительный вывод. Когда я проверяю, что в конце последней строки файла нет символа новой строки, мой код работает просто отлично. Я не понимаю, почему символ новой строки портит мою программу? Может кто-нибудь посоветовать мне, пожалуйста.