C нет сигнала EOF - PullRequest
       31

C нет сигнала EOF

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

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

Я пытался использовать CTRL + Z и CTRL + X, CTRL + D или вводить -1, но ничего из этого не сработало.

#include <stdio.h>

void main()
{
  double count;
    for(count=0; (getchar())!=EOF; ++count)
    {
          ;
    }
    printf("Char Count%.0f\n",count);

}

Я использую Windows 10 с редактором Atom, с пакетом gpp-compiler (3.0.7) (автор kriscross07) и minGW 8.2.0.

1 Ответ

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

Это работает очень хорошо, если вы запускаете программу из командной строки, но не будет работать, если вы запустите программу через IDE.

int main()
{
    int c;
    while((c = getchar()) != EOF)
    {
        printf("Char %d read\n", c);
    }
    printf("Exiting .... \n");
    return 0;
}

enter image description here

...