在Windows上,我具有以下代码来查找输入而不会中断循环:
#include <conio.h>
#include <Windows.h>
#include <iostream>
int main()
{
while (true)
{
if (_kbhit())
{
if (_getch() == 'g')
{
std::cout << "You pressed G" << std::endl;
}
}
Sleep(500);
std::cout << "Running" << std::endl;
}
}
但是,看到没有conio.h
,在Linux上实现相同目标的最简单方法是什么?
上面引用的ncurses howto可能会有所帮助。这是一个示例,说明如何像conio示例一样使用ncurses:
#include <ncurses.h>
int
main()
{
initscr();
cbreak();
noecho();
scrollok(stdscr, TRUE);
nodelay(stdscr, TRUE);
while (true) {
if (getch() == 'g') {
printw("You pressed G\n");
}
napms(500);
printw("Running\n");
}
}
请注意,对于ncurses,iostream
不使用标头。这是因为将stdio与ncurses混合会产生意外结果。
顺便说一下,ncurses定义TRUE
和FALSE
。正确配置的ncurses将为ncurses使用与bool
用于配置ncurses的C
++编译器相同的数据类型。
我们有一个内部开发的基于客户机/服务器的应用程序。客户端和服务器通过TCP/IP连接与特定于应用程序的协议进行通信。客户端在Windows上运行,服务器在Linux上运行。所有计算机都位于相同的Active Directory/Kerberos域/领域中。 目前,用户在启动应用程序时输入用户名和密码。服务器检查用户名和密码(身份验证)。服务器还根据用户名确定对资源的访问(授权)。 我们希望向应用程
本文向大家介绍在Ubuntu Linux上安装和使用Git和GitHub,包括了在Ubuntu Linux上安装和使用Git和GitHub的使用技巧和注意事项,需要的朋友参考一下 Git的简介 Git是2005年Linus Torvalds 为了帮助管理 Linux(R) 内核开发而开发的一个开放源码的版本控制软件,正如所提供的文档中说的一样: Git 是一个快速、可扩展的分布式版本控制系统,它具
我曾经能够在NetBeans 8中安装和使用Sass,如关于如何在NetBeans 8.0.1中使用Sass的顶级答案所述 现在,使用当前版本的Sass(1.14.1),安装是不同的。基本上只是下载和解焦油。完成了,我已经将NetBeans指向了正确的位置。但是当前版本的Sass不能从NetBeans中正确运行:
本文向大家介绍在Linux上安装和使用Docker的方法,包括了在Linux上安装和使用Docker的方法的使用技巧和注意事项,需要的朋友参考一下 容器现在风靡于 IT 界 —— 这很好理解。容器是轻量级的,包含应用运行所需所有东西(代码、库、运行时环境、系统设置,以及依赖关系)的独立的包。每个容器都部署于它自己的 CPU、内存、块 I/O,以及网络资源上,所有这些都不依赖于某个内核和操作系统。这
问题内容: 我正在编写一个非常小的守护程序,即使系统处于严重压力下也必须保持响应。我正在研究SCHED_FIFO和SCHED_RR在调度方面的差异,以及试图确定合理的优先级。 哪个调度程序适用于小型但关键的监视守护程序,哪个优先级是合理安全的?在试图了解两者之间的差异时,我仍然感到有些困惑。 我的程序在3k以下分配(并使用mlockall()),它向xenbus写入约600字节然后进入睡眠状态,但
我听说Linux还不支持TextMesh。还是真的吗? llnotFoundException:TMPro_Plugin tmpro.editorUtilities.tmpro_fontassetCreatorWindow.onDisable()(在/root/.config/unity3d/cache/packages/packages.unity.com/com.unity.textMeshP