如何在终端中输入EOF的值

问题描述 投票:0回答:5

我有一个C程序。

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

我应该在终端的标准输入中输入什么来生成 EOF?

c
5个回答
86
投票

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


17
投票
  1. EOF 被封装在宏中是有原因的 - 你永远不需要知道它的值。
  2. 在命令行中,当您运行程序时,您可以使用 Ctrl-D (Unix) 或 CTRL-Z (Microsoft) 将 EOF 发送到程序。
  3. 要确定平台上 EOF 的值,您可以随时打印它:

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

7
投票

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

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

4
投票

到目前为止,其他任何答案都没有提到这一点,但您可能需要按右键组合(^D 或 ^Z)2 或 3 次才能实际发出 EOF 信号; 请参阅此处了解解释。


0
投票

或者实际上,

Ctrl+Z
随后是
Enter

© www.soinside.com 2019 - 2024. All rights reserved.