функция "fgetc ()" не работает должным образом в то время как - PullRequest
0 голосов
/ 27 января 2019

Я написал небольшую программу, которая должна считывать содержимое файла символьно-символьно, но код выполняет то, что он каждый раз переходит по символу, как будто каждый раз экранирует символы, и я не понимаю, почему

и я не знаю, что делать

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i, age = 18;
    char strind[] = "Himou";
    FILE *file = NULL;

    file = fopen("test.txt", "r+");
        if(file != NULL)
        {
            do
            {
                printf("%c", fgetc(file));
            }while(fgetc(file) != EOF);

            fclose(file);
        }
        else
        {
            printf("the file couldn't be open");
        }

   return 0;
}

файл существует и содержит "Hello World !! Вас зовут Himou, и ваш возраст 18", так что это то, что я ожидал, но фактическийрезультат "HloWrd! Yu aei io n oraei 8"

1 Ответ

0 голосов
/ 27 января 2019

он прыгает каждый раз, как если бы символ каждый раз убегал от символоввыше

я не знаю, что делать

возможно, вы хотите что-то подобное, чтобы написать все прочитанные символы:

int c;
while ((c = fgetc(file)) != EOF)
  putchar(c);
...