Ncurses-“移动”及其衍生物删除屏幕内容

时间:2019-01-19 11:46:51

标签: c++ ncurses

我是一名新手程序员,当前正在编写一个简单的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 ++可能不正确。

1 个答案:

答案 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提示与文本消息写在同一行。