如何在不按按钮的情况下调用函数
How to call a function without pressing a button
我的家庭作业是创建一个游戏。所以我创造了一款能够生成随机数并显示它们的游戏,几秒钟后这些数字便会消失,用户便需要按降序输入它们。游戏运行良好,所有输出都是正确的……但问题是我已经创建了不同的函数来创建数字,排列它们,接受…每次函数调用时,我都要按几次回车键。
有没有一种方法可以在不按任何键的情况下调用这些函数,使程序在不按回车键的情况下工作?
从标准输入中获取字符而无需等待按回车
在纯c++中是不可能移植的,因为它太依赖了在使用的终端上,可以与stdin连接(它们是)通常行缓冲)。但是,您可以使用库:
- conio可用于windows编译器。使用_getch()函数来给你一个字符而不用等待回车键。我不是常用的Windows开发人员,但我看到我的同学只是包括Conio.h并使用它。参见维基百科上的conio.h。它列出了getch
在Visual c++中已声明弃用。- curses可用于linux,兼容的curses实现是Windows也可用。它还有一个getch函数。(试着男人获取以查看其手册)。参见维基百科上的诅咒。
我会的如果你的目标是跨平台,建议你使用诅咒兼容性。也就是说,我相信有些函数可以用于关闭在线缓冲(我相信这被称为"raw模式",而不是"熟模式"(查看man stty))。诅咒如果我没记错的话,我可以用方便的方式帮你处理。
相关文章:
- 如果 std::vector::clear() 不是静态的,如何在没有实例的情况下调用它?
- C++ - 如何在不调用其属性的情况下调用类?
- C++ 在不释放内存的情况下调用析构函数
- Python在不引用类名的情况下调用类函数
- 为什么在这种情况下调用非常量右值移动构造函数?
- 是否可以在没有显式专用化的情况下调用可变参数模板函数?
- 使用按引用调用时,不能在没有对象的情况下调用成员函数 const
- 您可以在不调用构造函数的情况下调用攻击器吗?
- 命名空间:不能在没有对象的情况下调用成员函数
- 哪些语言将在没有显式桥接的情况下调用C++
- 如何在不重新索引顶点的情况下调用"boost::remove_vertex"?
- C :在没有对象实例的情况下调用非静态成员函数
- 在不实例化的情况下调用不同派生类的虚拟方法
- C 如何在没有错误的情况下调用void函数
- 在MSVC上的数组初始化期间,destructor在不复制或移动构造方的情况下调用
- 在不指定实例化的情况下调用类模板的静态方法的方法
- 为什么INVOKE总是取消引用数据成员,而不是在可能的情况下调用
- 是否可以在不实例化派生类的情况下调用该类的虚拟函数
- 无法在没有对象的情况下调用成员函数(尽管我相信我确实初始化了它)
- 为什么在没有赋值运算符的情况下调用转换构造函数