问题标签 [ncurses]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 使用 Eclipse CDT 调试 ncurses
我正在使用 Eclipse CDT 中的 ncurses 编写 C++ 应用程序,但是我无法在 eclipse 中运行/调试我的应用程序,因为 eclipse 中的控制台不适用于 curses。如果我从终端运行我的应用程序运行良好,但我只是添加了一些新代码,现在我遇到了分段错误,所以我想使用 eclipse 中的调试器来帮助我解决问题。有没有办法让 eclipse 运行/调试我的应用程序,但使用不同的终端进行输出,就像在 gdb 中执行“tty /dev/pts/1”时一样?或者在 Eclipse 中调试 ncures 应用程序的任何其他方式?
提前谢谢!
c - 如何在做其他事情的同时从键盘获取输入?
我正在使用 C (gcc) 和 ncurses 来制作一个程序,该程序将监视来自串行端口的数据。该程序有一个很大while
的,它读取来自端口的数据,同时在屏幕上打印该信息......
但问题就在这里:
它如何从我的键盘读取输入(因为getch()
冻结程序直到它获得输入)并同时读取来自端口的信息?
也许我必须使用另一种方式(不是大的while
),所以欢迎提出想法!
c++ - 以最新优先格式显示日志数据
我喜欢以后一种形式保存日志数据(与大多数博客和新闻网站组织帖子的方式相同)。
我最熟悉的语言是 C++ 和 Python:有没有办法将日志数据输出到屏幕(stdout)或最新条目始终位于顶部的文件?
或者是否有一种修改方式tail
以向下滚动而不是向上滚动的方式显示最新行?
这是否需要一个窗口系统 ncurses
?
python - Linux:通过管道输入 Python (ncurses) 脚本、标准输入和 termios
显然,这几乎是“从 python 中的标准输入读取时出现错误的管道文件描述符 - 代码日志”的副本;但是,我相信这种情况稍微复杂一些(并且它不是特定于 Windows 的,因为该线程的结论是)。
我目前正在尝试在 Python 中尝试一个简单的脚本:我想为脚本提供输入 - 通过命令行参数;或通过“管道”将字符串添加到此脚本 - 并让脚本使用curses
终端界面显示此输入字符串。
下面给出了完整的脚本,这里称为testcurses.py
。问题是,每当我尝试实际管道时,这似乎会弄乱标准输入,并且curses
窗口永远不会显示。这是一个终端输出:
据我所知,问题是: - 每当我们将字符串导入 Python 脚本时,Python 脚本都会丢失对终端的引用as stdin
,并注意到被替换stdin
的不再是termios
结构 - 因为stdin
不再是终端,curses.initscr()
立即退出而不渲染任何东西。
所以,我的问题是 - 简而言之:我能以某种方式实现,语法echo "blabla" | ./testcurses.py -
最终显示管道字符串curses
吗?更具体地说:是否可以stdin
从 Python 脚本中检索对调用终端的引用,即使该脚本正在“管道”到?
在此先感谢您的任何指点,
干杯!
PS:testcurses.py
脚本:
c++ - 使用 ncurses 创建一个函数来检查 Unix 中的按键
我一直在寻找类似的东西,kbhit()
并且我已经阅读了几个关于这个主题的论坛,大多数人似乎都建议使用 ncurses。
我应该如何使用 ncurses 检查是否在 C++ 中按下了某个键?
ncurses 提供的函数getch()
从窗口中读取一个字符。我想编写一个只检查是否有按键然后我想做的函数getch()
。
c - 为什么有多个定义?为什么没有定义其他引用?这真的很基本,我错过了什么?
我有一个需要编译的小项目。我有一个头文件和一个我创建的源代码,以及一个几乎为空的包含我的头文件的 driver.c。
观察:
现在我的实现文件:
现在包含我的标头并提供 main() 的驱动程序:
我的 bash 命令:
我回来了:
我只是想指出我可以在哪里编译它,然后开始把我的头发扯掉,因为我所有的段错误。我的设置有什么问题?我在 Gnu C 编译器上进行 RTFM 显然我正在做我应该做的事情,即在 iol.h 中声明东西,在iol.c中定义,然后在driver.c中使用它,这可能是非常微不足道的东西,也许我只需要第二眼:
我实际上得到了一长串错误,如果有人认为这是相关的,我很乐意发布整个源。
user-interface - 是否有与 Python 3 兼容的终端小部件库?
我正在寻找一个终端 UI 库,提供与 python3 兼容的按钮、复选框等小部件。
我试过了:
- pycdk(pyrex 不适用于 python3,移植起来很麻烦)
- urwid(不适用于 python3,它有一个端口,但不能很好地与新的 curses 接口一起使用)。
有人知道这样的图书馆吗?
谢谢!
ncurses - 诅咒中占据一定空间的角色如何保存?
我开始尝试用 C++ 用 curses 制作一些简单的控制台游戏,我的第一个项目只是一个可以在里面走动的大房间。我想我将通过让程序保存正方形的状态来实现行走角色在走,所以当他走到下一个方格时,它可以恢复那里的任何东西。问题是,我不知道如何将某个位置的字符保存到变量中,令我惊讶的是,我似乎找不到任何全面的诅咒文档。我正在寻找这样的功能:
int storage = mvsavechar(1,1);
有没有这样的功能?
c++ - 用于分段错误的 finally 块 (C++)
我正在使用 ncurses,每当我遇到段错误时,ncurses 都不会正确释放对终端的控制(因为从未调用过 endwin())。我设置了一个信号处理程序:
但这样做的问题是段错误被忽略,而不是延迟到 endwin() 之后。我对 C++ 很陌生;可以像异常一样捕获段错误,以便我可以有一个 finally 块?或者有没有办法从处理程序内部重新发送段错误?
linux - 检测诅咒中的自动键重复
我正在Linux 上使用curses 编写一个小文本模式应用程序。
对于键盘输入,我使用 curses 函数。按键自动重复工作,例如,如果我按住一个按键,我会收到多个按键事件,直到我再次释放按键。
是否也可以区分真正的按键事件和按键重复逻辑生成的事件?
背景:该应用程序是一个小的数据输入前端,用户可以在其中修改某些参数的整数。从长远来看,该应用程序将在没有标准键盘的情况下工作。我将只有四个用于数据输入的按钮:“增加”、“减少”、“确定”和“取消”。
由于数字范围很大,我想知道用户是否按住键。如果他这样做,我可以通过不将我的数字增加 1 而是增加 10 或 100 来更快地扫描我的数字范围。如果用户 otoh 轻按该键,则输入法应该再次精确,只需将数字增加/减少 1。
这可以通过curses的键盘输入功能实现吗?