如何从终端输入int或char而不必按";输入“;在Windows和Unix上

如何从终端输入int或char而不必按";输入“;在Windows和Unix上,c,C,基本上我想输入一个由终端的4位数字组成的密码。我有一些草率的解决方案,但我想要干净的。我希望用户写入一个数字,我将把它放入一个数组中,而不必按“回车”。然后用户将给出第二个数字,我将把它放入数组中。。。例如,它将给出如下内容: >1 the array [1, 0, 0, 0] >12 the array [1, 2, 0, 0] >123 the array [1, 2, 3, 0] >1234 the array [1, 2, 3, 4]

基本上我想输入一个由终端的4位数字组成的密码。我有一些草率的解决方案,但我想要干净的。我希望用户写入一个数字,我将把它放入一个数组中,而不必按“回车”。然后用户将给出第二个数字,我将把它放入数组中。。。例如,它将给出如下内容:

>1      the array [1, 0, 0, 0]
>12     the array [1, 2, 0, 0]
>123    the array [1, 2, 3, 0]
>1234   the array [1, 2, 3, 4]
>the rest of the program

取决于操作系统。您使用的是哪种操作系统?一种简单的方法是
ncurses
。MSVC具有非标准的库函数和。我一直对标准C中缺少单键输入感到困惑。不过,在这种情况下,输入无法重定向,因为它不是通过
stdin
。您在哪个平台上?并非所有平台都有一个单一的解决方案。来自终端的输入通常是行缓冲的,禁用行缓冲只能以特定于平台的方式完成。