我有一项创作游戏的家庭作业。所以我创建了一个生成随机数的游戏,显示它们,然后几秒后数字消失,用户必须按降序输入。游戏运行正常,所有输出都是正确的...但问题是我创建了不同的函数来创建数字,安排它们,接受..而且每次函数调用时我都要按几次回车键。
有没有一种方法可以在不按任意键的情况下调用这些函数,无需按Enter键即可使程序正常工作?
答案 0 :(得分:0)
从Capture characters from standard input without waiting for enter to be pressed
拉出来在纯C ++中这是不可能的,因为它太过分了 在使用的终端上可能与stdin连接(它们是 通常行缓冲)。但是,你可以使用一个库:
- conio可用于Windows编译器。使用函数_getch()来 在不等待回车键的情况下给你一个角色。我不是一个 频繁的Windows开发人员,但我看到我的同学只是包括 conio.h并使用它。请参阅维基百科的conio.h。它列出了getch,其中 声明在Visual C ++中声明已弃用。
- curses可用于linux,兼容curses实现 也适用于Windows。它还具有getch功能。 (试试男人 getch查看其手册页)。请参阅维基百科的Curses。
醇>我愿意 如果您的目标是跨平台,建议您使用curses 兼容性。也就是说,我确信你可以使用各种功能 用来关闭线缓冲(我相信这被称为“原始的 模式“,而不是”煮熟的模式“(查看man stty))。诅咒 如果我没弄错的话,会以便携的方式为你处理。