【问题标题】:Read user input until ESC is pressed in C读取用户输入,直到在 C 中按下 ESC
【发布时间】:2016-03-12 04:30:28
【问题描述】:

有没有办法在按下 ESC 键(或任何其他键)之前读取用户输入?我看过有关它的论坛,但它们都是针对 C++ 的。我需要制作一个适用于 C 的版本。谢谢

【问题讨论】:

  • 如果我没记错的话,这将需要特定于平台。你在什么平台上运行这个?

标签: c input


【解决方案1】:

让我们检查一下 ascii 表中的 'esc' 字符:

$ man ascii | grep -i ESC
033   27    1B    ESC (escape)
$

因此,它的ascii值为:

  • '033' - 八进制值
  • '27' - 整数值
  • '1B' - 十六进制值
  • 'ESC' - 字符值

使用整数值“ESC”的示例程序

#include <stdio.h>

int main (void)
{
    int c;

    while (1) {
        c = getchar();            // Get one character from the input
        if (c == 27) { break; }  // Exit the loop if we receive ESC
        putchar(c);               // Put the character to the output
    }

    return 0;
}

希望有帮助!

【讨论】:

    猜你喜欢
    • 2012-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 1970-01-01
    • 2013-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多