Как предотвратить возврат курсора в крайний левый угол экрана после перевода строки в Ncurses? - PullRequest
0 голосов
/ 10 марта 2019

Используя функцию mvprintw (rowOffset, colOffset, textToPrint) из Ncurses, когда я печатаю символ новой строки, если colOffset отличен от 0, я получаю прямоугольник, который выглядит следующим образом:

   xxxxxxxx
x      x
xxxxxxxx

когда я хочу, чтобы остальная часть прямоугольника выровнялась с верхом

для

#include <ncurses.h>

    void main()
    {
        initscr();
        mvprintw(7,3,"xxxxxxxx\nx      x\nxxxxxxxx\n");
        refresh();
    }

Как я могу это исправить?

1 Ответ

0 голосов
/ 10 марта 2019

Вы можете создать окно , которое начинается с 7,3, и запись в окно будет перенесена на новую строку со смещением столбца 3, например,

#include <ncurses.h>

void main()
{
    WINDOW *w;
    initscr();
    w = newwin(10,20, 7, 3);
    wprintw(w, "xxxxxxxx\nx      x\nxxxxxxxx\n");
    wrefresh(w);
    wgetch(w);
}

Это создает окно из 10 строк.Вы можете создать больший, учитывая фактический размер экрана (например, LINES).

...