问题标签 [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 回答
3140 浏览

c++ - getch() 和 clrscr() 的 c++ 替代方案

我使用code::blocks10.05 来编译 C++。

但我不能使用

它说unknown。当我#include <conio>说未知库时。那么能够getch在 C++ 中使用的替代方案是什么?

0 投票
2 回答
266 浏览

c - getch 需要额外的字符

您好,我是编程新手,我正在用 C 编写程序。

在我的头文件中,我有这个宏:

在我的程序中,我有这个代码

所以我想问的是,为什么我要求return的时候yesno(c)只需要按一次按钮,而我用return的时候yesno(getch())却要再按一次按钮两三下?

getch()从宏调用时有问题吗?

0 投票
5 回答
18041 浏览

c - getch() 在 C 中究竟做了什么?

我认为(到目前为止) getch() 函数从输入缓冲区(或键盘,简单地说)读取字符。但我不得不和我的实验室导师争论。他们说 getch() 的唯一工作是保持程序执行。我知道 getch() 可以这样使用。但我只是想知道这是发明它的真正目的吗?或者,它很少用于获取单字符输入吗?

0 投票
2 回答
7366 浏览

c - getch() 等待 Enter 键?

可能重复:
C/C++:从标准输入中捕获字符而不等待按下回车键

我在 Windows 7 上使用 C-Free 4 Standard 并编写了一个 C 程序。

我正在使用 getch() 作为暂停程序的函数,但是,按下的字符会在屏幕上回显,它会在继续之前等待按下 Enter 键(它看起来与scanf 有效)。我尝试了 getche(),它工作正常,尽管出现了回声。

getch() 函数可能有什么问题?

0 投票
3 回答
2625 浏览

c - 当用户输入“。”时停止`scanf` 点

我在搞乱下面的函数,我想在用户输入点字符时结束输入捕获。似乎getche()没有做它打算做的事情:

更新

看来我还不够清楚。我想要做的是当用户输入一个点时它应该像按下 ENTER 键一样,所以程序进入下一步。某种模拟 ENTER 键。

0 投票
1 回答
7341 浏览

c++ - getch() 和 scanf() 函数之间的区别

我在执行以下代码时遇到了困难。完成一次执行后,变量“t”取空值。通过使用 getch() 而不是 scanf() 解决了这个问题。但我不知道为什么会这样。有什么解释吗?这是不起作用的程序。

现在,这是正确执行的程序。

0 投票
1 回答
772 浏览

java - Java中通过JNI实现的非阻塞输入

我正在追求使用 Java 设计一个命令外壳。我必须立即实现的一项重要功能是“自动完成”,这在按下“tab”键时由命令外壳提供便利。为此,我认为我必须在非阻塞模式下逐个字符地读取输入命令。

不幸的是,据我了解,Java API 都不支持非阻塞输入。也就是说,用于读取输入的 Java API 会等待(阻塞),直到用户点击“Enter”键,这在我的情况下是非常不可取的。另外,我已经下定决心不使用任何第三方 Java 库(如 JLine )。

所以,我不得不求助于 JNI。本机 .C 文件似乎是这样的 -

以及调用上述本机方法的相应Java方法:

此外,我可以向您保证,在链接本机 .dll 方面没有任何麻烦。而且,截至目前,“InterruptableCharacterArray”仅包含“\t”(“tab”键)。因此,截至目前的 index 值为 1 。

问题:

1> 控件似乎没有阻塞:

也就是说,它似乎不允许用户在该行通过 Java 控制台输入输入,而这是打算这样做的。而且,即使在 getche() 的情况下也是同样的问题(非阻塞但回声)

相反,在每次迭代中,“变量”都会采用一些默认垃圾值,并在执行以下语句时将其打印在控制台上:

但是,当 getch() 被 getc(stdin)、getchar() 等阻塞对应物替换时,我的这段代码就像一个魅力。

我无法弄清楚通过 JNI 调用 getch() 究竟是什么问题。

2> 另外,如果建议任何其他替代解决方案来实现相同的效果,我将不胜感激。

先感谢您 !

编辑:命令外壳将在基于 Windows 和 Unix 的操作系统上实现。

0 投票
1 回答
40756 浏览

c - 如何使用 kbhit 和 getch(C 编程)

我正在尝试创建一个函数,printf如果用户按下键盘上的任何按钮(除了大写字母),该函数将显示某个字符串P,如果用户按下P,它将打破循环。

但是我不认为我正在使用_kbhit并且_getch正确。我使用数字 80,因为那是 80 的 ASCII 符号......抱歉有任何混淆

0 投票
1 回答
87 浏览

c - Twitter 喜欢 C 中的“字符左”功能问题:如何防止它进入下一行?

就像我的最后一个问题一样,这与我的学校项目有关。我必须在 C 中做一个“类似推特”的程序,但我遇到了一个小布局问题。请记住,我知道此代码未优化,我首先“玩弄”以使基础工作正常。

这是我遇到问题的功能(不要注意带有所有\b的printf,它只是暂时的并且非常混乱):

这个函数让用户输入一条消息,并显示用户还剩下多少个字符供他输入(DIM_MSG 常量就是这个大小)。基本上,当用户键入时,它会显示在文本右侧写入的字符数(有点像文本框底部的 twitter)。

我遇到的问题是,当您输入较长的内容并到达命令窗口的一侧时,它会“中断”并转到下一行,我最终会在窗口中看到类似这样的内容:

困扰我的是,当您删除文本(退格键或 '\b' )时,它会停在您所在的行。如果您查看示例,您将能够在最后一行删除“ttest”,然后您将被卡住(尽管计数器仍然会下降而不移动)

如果您对如何解决此问题或如何改进此问题有任何想法,欢迎一切!

先感谢您 !

0 投票
2 回答
1273 浏览

xcode - getch() 返回 \377!而不是阅读字符

我正在使用 Xcode 并使用 C 语言试图了解如何使用 Getch 函数来启动项目。我复制了一些有人编写的代码作为应该可以工作的示例,但是它不是等待我输入字符的代码,而是为我返回一个:

这是输出:

如果我使用 Getchar(),它可以工作,但我不想按 Enter。

我对编码真的很陌生,所以它可能很简单,但我不知道......

LT