如何在终端中输入EOF的值

时间:2012-08-15 11:34:39

标签: c

我有一个C程序。

int main ()
{
    if (getchar()!=EOF)
        puts("Got a character");
    else
        puts("EOF");
}

我应该在终端上键入什么来生成EOF?

4 个答案:

答案 0 :(得分:18)

在Windows中, Control + Z 是典型的键盘快捷键,表示“文件结束”,在Linux和Unix中它通常是 Control + D

答案 1 :(得分:10)

  1. 因为某种原因,EOF被包裹在宏中 - 您永远不需要知道该值。
  2. 在命令行中,当您运行程序时,可以使用 Ctrl - D (Unix)或 CTRL将EOF发送到程序 - Z (微软)。
  3. 要确定平台上EOF的价值,您可以随时打印它:

    printf ("%i\n", EOF);
    

答案 2 :(得分:3)

您可以使用以下方法模拟EOF:

  • Windows: ctrl + Z
  • Unix: ctrl + D

答案 3 :(得分:1)

到目前为止,其他任何答案都没有提及,但是您可能需要按2或3次右组合键(^ D或^ Z)才能真正发出EOF信号。 see here进行解释。