Мой цикл дублирует последний символ (язык C) (feof) (char by char)

Эй, ребята,

Я пытаюсь прочитать текстовый файл:

while(!feof(fp)){ 

    fscanf(fp, "%c", &c);

    printf("%c", c);

}

Но... вывод всегда дублирует последний символ, я не знаю почему... :/

Есть идеи?


person Frank    schedule 22.11.2012    source источник
comment
Вы говорите, что вывод вашей программы - это повторение первого символа входного файла fp? Повторяется ли он [первый символ] один раз для каждого символа во входном файле? Это действительно весь ваш цикл и ввод-вывод? Как выглядит ваш входной файл? c это int или unsigned char?   -  person Matthew Hall    schedule 23.11.2012
comment
c - это символ... Я читаю текстовый файл, который выглядит как +1 2, но число 2 дублируется, когда я использую этот код, не знаю почему. Во всяком случае, последний символ всегда дублируется...   -  person Frank    schedule 23.11.2012
comment
возможный дубликат while( !feof(file) ) всегда неправильный   -  person Thomas Padron-McCarthy    schedule 30.03.2013


Ответы (1)


Я тоже задавался этим вопросом, наконец, я нашел ответ!

Я не мог объяснить это лучше, поэтому проверьте ссылку

person user1638970    schedule 11.11.2013