Certo perché il while lo continui fintanto che il carattere immesso non è EOF, che di default è ctrl+z.

Due sono le cose: o scrivi direttamente !='\n' in modo tale che quando vai a capo finisce la lettura oppure fai una define (cosa del tutto analoga) per modificare l'EOF

#define EOF '\n'