printw () и mvwprintw () не печатают - PullRequest
       9

printw () и mvwprintw () не печатают

0 голосов
/ 14 февраля 2019

Я пытаюсь протестировать printw и mvwprintw, печатая строку в каждой новой строке.Однако они ничего не печатают.

Это вывод на терминал:

gcc -c -g *.c
gcc *.o -o main.exe -lncurses
DBOJANTC-M-KDD5:ncursestest user22$ main.exe
DBOJANTC-M-KDD5:ncursestest user22$ 

Как заставить эти функции печатать на экране или в окне?

    int main() {

        char stuff[25] = "stuffstuff\n";
        int rows = 7;

        WINDOW* win;
        //int delwin(WINDOW *win);

        //printf("dddd\n");

        initscr();
        raw();
        noecho();
        printw("Try resizing your window(if possible) and then run this program again");
        win = newwin(rows, 80,  0, 0);


        for(int i = 0; i < rows; i++){

            mvwprintw(win, i, 0,"%s", stuff);

            wrefresh(win);
        }

    endwin();


    return 0;
}

1 Ответ

0 голосов
/ 14 февраля 2019

printw и mvwprintw фактически печатают.Просто вы немедленно обновляете окно или закрываете окно, поэтому вы не можете видеть отпечатки.

Попробуйте добавить getch перед закрытием или обновлением окна.

    for(int i = 0; i < rows; i++){

        mvwprintw(win, i, 0,"%s", stuff);
        getch();  //here
        wrefresh(win);
    }
getch();  //here
endwin();

Или даже вы можете использовать sleep.

...