读取用户输入,直到在C中按下ESC

时间:2016-03-12 04:30:29

标签: c input

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

1 个答案:

答案 0 :(得分:5)

让我们在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;
}

希望有所帮助!