我正在学习 termcap 库。我正在尝试在终端中做一个行编辑器。我有一个可以在线移动的光标。一条线一切都很好。但是,如果我的行大于终端宽度,则无法使用le
命令将光标从第二行返回到第一行(将光标向左移动)。我需要设置bw
标志来做到这一点。函数tgetflag()
只返回一个值。我认为我需要使用tcsetsttr()
但找不到正确的标志宏来设置此标志。如何设置bw
标志?
struct termios stored_settings;
struct termios new_settings;
tcgetattr(0, &stored_settings);
new_settings = stored_settings;
new_settings.c_lflag &= (~ICANON & ~ECHO);
new_settings.c_cc[VTIME] = 0;
new_settings.c_cc[VMIN] = 1;
tcsetattr(0, TCSANOW, &new_settings);