我是一名新手程序员,当前正在编写一个简单的Ncurses应用程序,但是我遇到了这样的问题-调用move
函数或mvwadch
作为示例将在我放置的位置后清除窗口内容我要去
代码如下:
#include <string>
#include <ncurses.h>
void function(WINDOW* win)
{
std::string somestring = "Test";
waddstr(win, somestring.c_str());
wmove(win , 0, 1);
wrefresh(win);
}
WINDOW* win_ = initscr();
int main()
{
function(win_);
wgetch(win_);
endwin();
}
例如,如果somestring
为“测试”,则仅留下“ T”。
P.S。很抱歉,英文和c ++可能不正确。
答案 0 :(得分:0)
您的程序不等待用户输入(例如,对.image {
display: block;
margin:5px;
width: var(--w,400px);
height: var(--h,200px);
background-image:url(https://i.stack.imgur.com/Xde45.png);
--c-left:100; /*crop left*/
--c-right:60; /*crop right*/
--c-bottom:45; /*crop bottom*/
--c-top:10; /*crop top*/
--c-x:calc(var(--c-right) + var(--c-left));
--c-y:calc(var(--c-top) + var(--c-bottom));
background-size:
calc(100% + var(--c-x)*(100%/(300 - var(--c-x))))
calc(100% + var(--c-y)*(100%/(150 - var(--c-y))));
background-position:
calc(-1*var(--c-left)*(var(--w,400px)/(300 - var(--c-x))))
calc(-1*var(--c-top) *(var(--h,200px)/(150 - var(--c-y)))) ;
}
的调用),而是立即退出而无需调用<div class="image"></div>
<div class="image" style="--w:200px;--h:100px;"></div>
<div class="image" style="--w:150px;--h:150px;"></div>
。由于ncurses将终端初始化为原始模式,因此使终端处于原始模式,因此shell无法将换行符正常转换为回车/换行立即(尽管大多数shell通过将模式重置回 cooked 来从中恢复)。这会导致某些文本被覆盖,因为(而不是前进到 newline )shell提示与文本消息写在同一行。