![]() |
1
88
这在纯C++中是不可能的,因为它太依赖于可能与STDIN连接的终端(它们通常是行缓冲的)。但是,您可以使用一个库:
如果您的目标是跨平台兼容性,我建议您使用curses。也就是说,我相信有一些功能可以用来关闭线路缓冲(我相信这被称为“原始模式”,而不是“烹饪模式”(查看
|
![]() |
2
74
在Linux(和其他类似于Unix的系统)上,可以通过以下方式完成:
基本上,您必须关闭规范模式(和回声模式以抑制回声)。 |
![]() |
3
15
科尼奥 您需要的功能是:
利比科尼奥 http://sourceforge.net/projects/libconio 或 Linux C++的CONIO.H实现 http://sourceforge.net/projects/linux-conioh |
![]() |
4
14
我在另一个论坛上发现这个问题,同时也在寻找解决相同问题的方法。我对它做了一些修改。效果很好。我运行的是OSX,所以如果你运行的是微软,你需要找到正确的system()命令来切换到生的和熟的模式。
|
![]() |
5
8
这种用途
|
![]() |
6
7
如果您在Windows上,可以使用 PeekConsoleInput 检测是否有输入,
然后使用readconsoleinput“使用”输入字符。
老实说,这是我的一些旧代码,所以你必须稍微修改一下。 不过,很酷的是,它在不提示任何内容的情况下读取输入,因此根本不显示字符。 |
![]() |
7
5
假设是窗户,看看 读控制台输入 功能。 |
![]() |
8
5
C和C++对I/O有一个非常抽象的视图,没有标准的方法来做你想做的事情。有标准的方法从标准输入流中获取字符(如果有需要的话),并且这两种语言都没有定义其他任何字符。因此,任何答案都必须是平台特定的,可能不仅取决于操作系统,还取决于软件框架。 这里有一些合理的猜测,但如果不知道目标环境是什么,就无法回答您的问题。 |
![]() |
9
5
|
![]() |
10
4
以下是从中提取的溶液 专家C编程:深层次的秘密 ,应该在SVR4上工作。它使用 斯蒂 和 IOCTL .
|
![]() |
11
2
我一直想要一个循环来读取我的输入,而不需要按回车键。 这对我有用。
|
![]() |
12
2
在Windows上为我工作:
|
![]() |
13
2
我使用kbhit()查看是否存在字符,然后使用getchar()读取数据。 在窗户上,你可以用“conio.h”。在Linux上,您必须实现自己的kbhit()。 见下面的代码:
|
![]() |
14
1
您可以使用SDL(简单的DirectMedia库)进行移植,尽管我怀疑您可能不喜欢它的行为。当我尝试它时,我必须让SDL创建一个新的视频窗口(即使我的程序不需要它),并让这个窗口“抓取”几乎所有的键盘和鼠标输入(这对我的使用是可以的,但在其他情况下可能是烦人或不可行的)。我怀疑这太过分了,不值得这样做,除非必须具备完全的可移植性——否则试试其他建议的解决方案。 顺便说一下,如果你喜欢的话,这会给你单独的按键和发布事件。 |
![]() |
15
1
Ncurses提供了一个很好的方法来实现这一点! 这也是我的第一篇文章(我记得),所以欢迎任何评论。我会感谢有用的,但欢迎大家! 编译:G++-STD= C++ 11—pTrim-LncEclis.CPP-O
|
![]() |
Community wiki · C中有哪些耗时的操作? 1 年前 |
![]() |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
![]() |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
![]() |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |