首页 > 解决方案 > 如何在 ncurses 中获得正确大小的窗口

问题描述

我正在尝试在 Linux (Mint) 上使用 C 语言进行 ncurses 编程,但遇到了一个奇怪的问题。我不断收到第一行和最后一行的列数错误的窗口。例如,使用 StackOverflow 上的代码

#include <ncurses.h>
int main(){
  initscr();

  WINDOW * win = newwin(10,50,10,10);
  box(win,0,0);
  wrefresh(win);

  wgetch(win);
  endwin();
  return 0;
}

我得到这个输出:

          ┌─┐
          │                                                │
          │                                                │
          │                                                │
          │                                                │
          │                                                │
          │                                                │
          │                                                │
          │                                                │
          └─┘

好像第一行和最后一行只有三列宽。如果我使用 waddch 在窗口中添加文本,我也只能在顶行添加三个字符。

任何帮助将不胜感激,我在网络上找不到其他人遇到此问题的示例,但这并不是最容易找到一个好的搜索字符串的事情。

标签: clinuxncurses

解决方案


看起来您正在使用其中一个类似的 xterm,并且在一年多前的ncurses 常见问题解答中注意到他们省略了重复字符。


推荐阅读