Поскольку у вас нет правильного условия выхода в цикле, единственный способ завершить вашу программу - принудительно завершить процесс.Это означает, что нет никакой гарантии, что любой ожидающий буферизованный вывод будет записан в поток output
.
. Что вы можете сделать, это изменить условие цикла на while((c = getchar()) != EOF)
.Затем вы можете использовать символы Ctrl + Z (Windows) или Ctrl + D (* nix), чтобы выполнить условие циклаfalse, достигнув строки fclose(output)
, которая очистит буфер и закроет файл.
Кроме того, сделайте c
int
, поскольку именно это EOF
.