问题标签 [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.

0 投票
2 回答
11958 浏览

c - getch(); c和代码块中的运行时错误

我使用 codeblocks IDE 和 gcc 编译器。我尝试编写简单的程序计费系统。我们使用 getch(); 对于字符输入,在构建项目期间不会出现错误,但在运行时会出现错误并显示类似“在没有当前窗口时尝试绘图操作”的错误消息。真正的问题是什么。

0 投票
0 回答
1798 浏览

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”键的问题。此外,更正了一些小错误。

0 投票
2 回答
5278 浏览

string - 如何让 getch() 接受输入命中 (\n)?

我用 C++ 制作了一个触摸打字控制台程序。它从文件中读取文本并将其加载到屏幕上。用户必须输入正确的字母才能继续下一个字母。我唯一的问题是'\ n',所以如果我在文本文件(我正在读取的文件)中有这样的东西:

用户输入“你好”后,他应该按enter对吗?但每当他按下 时enter,getch() 就会将他带回到当前行的开头。

我怎样才能解决这个问题?

我正在读取整个文件并将其存储到一个字符串中,如下所示:

0 投票
2 回答
17384 浏览

c++ - 非阻塞 getch()

我正在尝试在标准控制台中制作俄罗斯方块游戏。我需要非阻塞的 getch(),所以块可以在不按任何键的情况下掉落。如果没有按下任何键则返回 -1 的函数会很好,否则返回键码。

0 投票
2 回答
1441 浏览

python - 如何包装 Windows 交互式控制台程序以实现自动化

我在 Windows 中有一个交互式控制台程序。我需要按'e''c'之类的击键到cmd窗口。人工操作方便,但程序自动化很难。

现在,我想包装控制台程序,以便更容易在其他程序(如python)中进行操作。

但是,控制台程序使用 'getch()' 来获取键盘输入,这不是标准输入。所以,我不能简单地将密钥发送到标准输入。

有没有人遇到过这个问题?谢谢。

编辑:

最后,我使用 win32 SendMessage 函数来完成任务。我分叉了一个新的子进程,然后隐藏它,获取它的 hWnd 和 pid。

这是代码:

0 投票
3 回答
2616 浏览

c - getch(); 不暂停循环

例如,我有这段代码:

不是在每个循环上等待用户输入,而是在没有我的情况下继续循环;印刷

直到我关闭程序。

有没有更好的方法来读取单个字符?我真正想做的就是让用户输入“y”或“n”

0 投票
7 回答
155049 浏览

python - 用于读取按键的 Python 方法?

我是 Python 新手,我刚刚用 Python 制作了一个游戏和一个菜单。问题是,使用 (raw_)input() 需要我在每次按键后按回车键,我想这样做,以便按下向下箭头将立即选择下一个菜单项,或在游戏中向下移动。目前,它要求我喜欢输入“向下”,然后按 Enter。我也做了很多研究,但我不希望仅仅为了实现一个 keyDown() 方法而下载巨大的模块(例如 pygame)。那么有没有更简单的方法,我只是找不到?

编辑: 刚刚发现可以解决问题msvcrt.getch()。这不是 keyDown(),但它有效。但是,我也不知道如何使用它,看起来很奇怪,这里有什么帮助吗?这是我目前得到的:

但是,它不断给我所有这些无意义的字节,例如,向下箭头是这样的:

而且我不知道如何使用它们,我尝试与 chr() 进行比较,甚至使用 ord() 但实际上无法进行任何比较。我想做的基本上是这样的:

等等......有什么帮助吗?

0 投票
2 回答
1597 浏览

python - curses getch() 在 python 中为主窗口和填充返回不同的值

getch()如果按下的键不是 ASCII,则该方法会为主窗口和填充键返回不同的值。例如,按箭头键,我在主窗口中得到预期KEY_UPKEY_DOWN等,但在键盘中,我得到65向上箭头和66向下箭头。为什么会这样,有没有办法让键盘中的特殊键值大于 255?

我正在使用 Python 2.6.5。

以下代码演示了该问题:

0 投票
1 回答
290 浏览

c++ - _getch() 在 Windows Server 2012 上不起作用

我需要一个 DLL,以便用户可以键入密码而不是在屏幕上回显。所以我_getch()用来获取没有回声的字符,

并使用microsoft vs2005编译代码。
它适用于 windows server 2003/2008,但在新的 windows server 2012 上,它会将字符回显到屏幕上。
我的问题是为什么_getch()只在 windows server 2012 上回显字符?以及如何解决?

0 投票
2 回答
576 浏览

c - 这个二维字符数组的字符输入有什么问题?为什么它不采用总共 K*K 输入?

我正在尝试从用户那里获取二维字符数据,但它没有正确地从用户那里获取输入。您能否突出显示以下代码中的错误?

我尝试替换charint. 它确实适用于整数。

char从 阅读有什么问题stdin