相关疑难解决方法(0)

从标准输入中捕获字符,无需等待按下输入

我永远不会记得我是怎么做的,因为它对我来说很少见.但是在C或C++中,从标准输入读取字符而不等待换行符的最佳方法是什么(按回车键).

理想情况下,它也不会将输入字符回显到屏幕上.我只想捕捉击键而不影响控制台屏幕.

c c++ inputstream

163
推荐指数
11
解决办法
19万
查看次数

如何在 OS X 上用 C++ 中的按键中断循环?

我想在 OS X 上的命令行应用程序中执行以下操作:

while (true) {
    // do some task
    if (user_has_pressed('x')) {
        // break out of the loop and do something different
    }
}
Run Code Online (Sandbox Code Playgroud)

为清楚起见,我不希望程序阻塞等待用户输入。我正在运行一个需要很多小时才能运行的数值模拟,我想按一个键来打印有关其进度的详细统计信息,或者中断它并更改参数等。

有一些现有的类似 问题,但答案要么建议仅使用 Windowsgetch功能,要么将终端切换到不同的输入模式。我不想这样做,因为我需要保留在ctrl-c不弄乱终端的情况下中断的能力。

我不想构建 Cocoa 应用程序,也不关心跨平台。我只是在寻找一种最简单快捷的方法来在一个只能在我自己的机器上运行的命令行应用程序中完成它。

我想一种选择是使用 ncurses。从简短的阅读来看,这似乎是一个比我想要的更重的选择 - 但是如果有人会发布一个简单的最小示例来完成上述任务,那将非常有帮助。

c++ keyboard macos ncurses

5
推荐指数
1
解决办法
6168
查看次数

标签 统计

c++ ×2

c ×1

inputstream ×1

keyboard ×1

macos ×1

ncurses ×1