问题标签 [getch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - getch(); c和代码块中的运行时错误
我使用 codeblocks IDE 和 gcc 编译器。我尝试编写简单的程序计费系统。我们使用 getch(); 对于字符输入,在构建项目期间不会出现错误,但在运行时会出现错误并显示类似“在没有当前窗口时尝试绘图操作”的错误消息。真正的问题是什么。
c - C - GetKeyState() 与 getch() 冲突;
我正在用 C 编写一个小程序。我需要处理一些虚拟键(箭头键、返回和 esc)加上“S”键的状态,所以我选择了 GetKeyState。问题是我不能使用 getch() 来提示“按任意键”消息,因为 GetKeyState/GetAsyncKeyState 将杂散字符放在标准输入中。这是一个代码示例:
当程序退出getInput()
返回 KEY_RETURN 或 KEY_S 的函数时,下一个 getch() 被绕过,程序直接结束。getInput()
在函数中或在 getch() 之前放置更长的睡眠时间并不能解决任何问题。当我必须输入一个字符串并且程序已经在输入缓冲区中放置了“s”、“esc”或“enter”时,它会变得很烦人。我该如何解决这个问题?提前致谢。
编辑:我尝试了手动标准输入刷新(使用while(getch()!='\n');
),它与“输入”键一起使用。仍在尝试找出如何解决“s”键的问题。此外,更正了一些小错误。
string - 如何让 getch() 接受输入命中 (\n)?
我用 C++ 制作了一个触摸打字控制台程序。它从文件中读取文本并将其加载到屏幕上。用户必须输入正确的字母才能继续下一个字母。我唯一的问题是'\ n',所以如果我在文本文件(我正在读取的文件)中有这样的东西:
用户输入“你好”后,他应该按enter对吗?但每当他按下 时enter,getch() 就会将他带回到当前行的开头。
我怎样才能解决这个问题?
我正在读取整个文件并将其存储到一个字符串中,如下所示:
c++ - 非阻塞 getch()
我正在尝试在标准控制台中制作俄罗斯方块游戏。我需要非阻塞的 getch(),所以块可以在不按任何键的情况下掉落。如果没有按下任何键则返回 -1 的函数会很好,否则返回键码。
python - 如何包装 Windows 交互式控制台程序以实现自动化
我在 Windows 中有一个交互式控制台程序。我需要按'e''c'之类的击键到cmd窗口。人工操作方便,但程序自动化很难。
现在,我想包装控制台程序,以便更容易在其他程序(如python)中进行操作。
但是,控制台程序使用 'getch()' 来获取键盘输入,这不是标准输入。所以,我不能简单地将密钥发送到标准输入。
有没有人遇到过这个问题?谢谢。
编辑:
最后,我使用 win32 SendMessage 函数来完成任务。我分叉了一个新的子进程,然后隐藏它,获取它的 hWnd 和 pid。
这是代码:
c - getch(); 不暂停循环
例如,我有这段代码:
不是在每个循环上等待用户输入,而是在没有我的情况下继续循环;印刷
直到我关闭程序。
有没有更好的方法来读取单个字符?我真正想做的就是让用户输入“y”或“n”
python - 用于读取按键的 Python 方法?
我是 Python 新手,我刚刚用 Python 制作了一个游戏和一个菜单。问题是,使用 (raw_)input() 需要我在每次按键后按回车键,我想这样做,以便按下向下箭头将立即选择下一个菜单项,或在游戏中向下移动。目前,它要求我喜欢输入“向下”,然后按 Enter。我也做了很多研究,但我不希望仅仅为了实现一个 keyDown() 方法而下载巨大的模块(例如 pygame)。那么有没有更简单的方法,我只是找不到?
编辑:
刚刚发现可以解决问题msvcrt.getch()
。这不是 keyDown(),但它有效。但是,我也不知道如何使用它,看起来很奇怪,这里有什么帮助吗?这是我目前得到的:
但是,它不断给我所有这些无意义的字节,例如,向下箭头是这样的:
而且我不知道如何使用它们,我尝试与 chr() 进行比较,甚至使用 ord() 但实际上无法进行任何比较。我想做的基本上是这样的:
等等......有什么帮助吗?
python - curses getch() 在 python 中为主窗口和填充返回不同的值
getch()
如果按下的键不是 ASCII,则该方法会为主窗口和填充键返回不同的值。例如,按箭头键,我在主窗口中得到预期KEY_UP
的KEY_DOWN
等,但在键盘中,我得到65
向上箭头和66
向下箭头。为什么会这样,有没有办法让键盘中的特殊键值大于 255?
我正在使用 Python 2.6.5。
以下代码演示了该问题:
c++ - _getch() 在 Windows Server 2012 上不起作用
我需要一个 DLL,以便用户可以键入密码而不是在屏幕上回显。所以我_getch()
用来获取没有回声的字符,
并使用microsoft vs2005编译代码。
它适用于 windows server 2003/2008,但在新的 windows server 2012 上,它会将字符回显到屏幕上。
我的问题是为什么_getch()
只在 windows server 2012 上回显字符?以及如何解决?
c - 这个二维字符数组的字符输入有什么问题?为什么它不采用总共 K*K 输入?
我正在尝试从用户那里获取二维字符数据,但它没有正确地从用户那里获取输入。您能否突出显示以下代码中的错误?
我尝试替换char
为int
. 它确实适用于整数。
char
从 阅读有什么问题stdin
?