c ncurses, window 边界问题

c ncurses, window border broblem

查了下发现不是边框的问题,而是横线的问题

#include<ncurses.h>

main() {
    initscr();
    mvhline(7, 10, '=', 4);
    mvhline(8, 10, '=', 5);
    mvhline(9, 10, '=', 6);
    mvhline(10, 10, '=', 7);
    mvhline(11, 10, '=', 8);
    refresh();
    endwin();
}

并输出

      ====    
      =====   
      ======  
      =       
      =       

PuTTY,SLES 12.ncurses-5.6-90.55

编码、键盘模拟和 LC_* 环境变量没有区别

问题很简单:

为什么边框的水平部分只有1个符号以及如何使其大小合适

我找到了问题的根源。

环境变量 TERM 有问题

export TERM=ansi

hline 仅在长度范围 0-7 中工作正常

export TERM=xterm

根本不工作

export TERM=vt100

使用 vt100 一切正常