如何在不等待换行的情况下在C中接受用户输入?

椅子55

我尝试使用getch()无济于事。我在Rasbian linux上使用geany ide和gcc编译器。我已经安装了ncurses库,并且正在使用它。

int input(){
int in;
in = getch();
printf("%i", in);
if(in == 'w'){
    return 1;
}
else if(in == 's'){
    return 0;
}
else{
    return 3;
}

}

帕斯卡忠实

为了getch()工作,您需要在程序开始时初始化ncurses。这是通过至少调用initscr()并禁用行缓冲来实现的cbreak()cbreak手册页中

通常,tty驱动程序会缓冲键入的字符,直到键入换行符或回车符为止。cbreak例程禁用行缓冲和擦除/杀死字符处理(中断和流控制字符不受影响),使用户键入的字符可立即用于程序。Nocbreak例程使终端返回正常(煮熟)模式。

最初,终端可以处于或不处于cbreak模式,因为该模式是继承的;因此,程序应显式调用cbreak或nocbreak。大多数使用curses的交互式程序都会设置cbreak模式。请注意,cbreak会覆盖raw。

或者,或者cbreak(),禁用行缓冲的另一种方法是通过使用设置“原始模式” raw()

有关读取ncurses密钥的完整示例,请参见例如
https://tldp.org/HOWTO/NCURSES-Programming-HOWTO/keys.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在不等待其检索的情况下在C ++中获取内存位置?

来自分类Dev

如何在方案中接受用户输入并使用它

来自分类Dev

如何在swift和xcode中接受用户输入

来自分类Dev

如何在没有预定义字符的情况下接受用户输入并设置结构值?

来自分类Dev

在C中接受用户的连续输入

来自分类Dev

如何在Python脚本中接受管道输入,然后接受用户提示的输入?

来自分类Dev

如何在Python脚本中接受管道输入,然后接受用户提示的输入?

来自分类Dev

如何在不等待整行的情况下在程序输出前添加字符串?

来自分类Dev

如何在while循环中接受用户输入

来自分类Dev

c - 如何在没有`scanf()`的情况下在c中获取整数和浮点输入?

来自分类Dev

我如何在discord.py中接受用户输入

来自分类Dev

如何在自动换行段落打开的情况下在vim中换行?

来自分类Dev

在C ++中,如何在不为每个输入分配变量的情况下接受大量输入?

来自分类Dev

如何在不等待输入的情况下检查可能为空的stdin?

来自分类Dev

如何在不等待执行结束的情况下从用户界面启动作业?

来自分类Dev

Bash:如何正确接受用户输入?

来自分类Dev

无法在perl中接受用户输入

来自分类Dev

如何在没有用户输入的情况下在外壳脚本中添加PPA?

来自分类Dev

如何在不等待C#中调用函数完成的情况下继续执行函数

来自分类Dev

如何在不等待的情况下启用systemd的服务?

来自分类Dev

如何在不等待的情况下命名管道

来自分类Dev

如何在没有换行符的情况下在Excel中复制多行

来自分类Dev

如何在没有XML的情况下在SOAP WS中接受JSON

来自分类Dev

如何在不等待Ruby中响应的情况下发出HTTP请求

来自分类Dev

Swift:如何在不等待进程完成的情况下读取子进程中的标准输出

来自分类Dev

如何在不等待它在php中完成的情况下调用函数?

来自分类Dev

如何在不使用睡眠命令的情况下在 VB 中创建等待命令?

来自分类Dev

在枚举数据类型的情况下,是否有任何可能的方式来接受用户输入

来自分类Dev

如何在 main 中调用 my_function 并提示用户在 main 方法中输入;my_function 接受用户输入并以相反的顺序连接(Python 3)

Related 相关文章

  1. 1

    如何在不等待其检索的情况下在C ++中获取内存位置?

  2. 2

    如何在方案中接受用户输入并使用它

  3. 3

    如何在swift和xcode中接受用户输入

  4. 4

    如何在没有预定义字符的情况下接受用户输入并设置结构值?

  5. 5

    在C中接受用户的连续输入

  6. 6

    如何在Python脚本中接受管道输入,然后接受用户提示的输入?

  7. 7

    如何在Python脚本中接受管道输入,然后接受用户提示的输入?

  8. 8

    如何在不等待整行的情况下在程序输出前添加字符串?

  9. 9

    如何在while循环中接受用户输入

  10. 10

    c - 如何在没有`scanf()`的情况下在c中获取整数和浮点输入?

  11. 11

    我如何在discord.py中接受用户输入

  12. 12

    如何在自动换行段落打开的情况下在vim中换行?

  13. 13

    在C ++中,如何在不为每个输入分配变量的情况下接受大量输入?

  14. 14

    如何在不等待输入的情况下检查可能为空的stdin?

  15. 15

    如何在不等待执行结束的情况下从用户界面启动作业?

  16. 16

    Bash:如何正确接受用户输入?

  17. 17

    无法在perl中接受用户输入

  18. 18

    如何在没有用户输入的情况下在外壳脚本中添加PPA?

  19. 19

    如何在不等待C#中调用函数完成的情况下继续执行函数

  20. 20

    如何在不等待的情况下启用systemd的服务?

  21. 21

    如何在不等待的情况下命名管道

  22. 22

    如何在没有换行符的情况下在Excel中复制多行

  23. 23

    如何在没有XML的情况下在SOAP WS中接受JSON

  24. 24

    如何在不等待Ruby中响应的情况下发出HTTP请求

  25. 25

    Swift:如何在不等待进程完成的情况下读取子进程中的标准输出

  26. 26

    如何在不等待它在php中完成的情况下调用函数?

  27. 27

    如何在不使用睡眠命令的情况下在 VB 中创建等待命令?

  28. 28

    在枚举数据类型的情况下,是否有任何可能的方式来接受用户输入

  29. 29

    如何在 main 中调用 my_function 并提示用户在 main 方法中输入;my_function 接受用户输入并以相反的顺序连接(Python 3)

热门标签

归档