0

我正在使用 Ncurses 在 Linux 中编写一种“某种”编辑器。我创建了一个窗口,初始化了一些 Ncurses 变量,在内存中加载了一个文件(使用另一个类),然后在我创建的窗口上显示了该文件。我的问题是我需要阅读屏幕上的内容(用户输入和之前屏幕上的内容的组合)

因此,假设我在窗口中的文档如下所示:

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

然后用户像这样修改文档:

 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 xxxxxxxxxxxxxxxxx  QAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQA  xxxxxxxxxxxxxxxxxxxxxx
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

所以用户输入了 Q 和 A,但我有兴趣阅读整行,我该怎么做?

我试过scanw()但没有用。提前感谢您可以给我的任何帮助或提示。

4

1 回答 1

1

诅咒保留窗口的内部地图,您可以通过以下方式查询它:

 chtype inch(void);
 chtype winch(WINDOW *win);
 chtype mvinch(int y, int x);
 chtype mvwinch(WINDOW *win, int y, int x);

您必须阅读窗口中的每个位置。

chtype包含用于粗体等效果的字符和标志

于 2013-06-29T09:03:44.070 回答