Новая строка из файла, связанного с выходом моей программы - PullRequest
1 голос
/ 08 марта 2019

У меня есть файл, который будет введен как этот
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 будет запущен дважды и даст один дополнительный вывод. Когда я проверяю, что в конце последней строки файла нет символа новой строки, мой код работает просто отлично. Я не понимаю, почему символ новой строки портит мою программу? Может кто-нибудь посоветовать мне, пожалуйста.

...