2014-12-03 2 views
0

По какой-то причине, когда я пытаюсь напечатать строку, она не обновит экран при входе в цикл while ... что я могу делать неправильно?printw() не работает во время цикла

#include<ncurses.h> 
#include<stdlib.h> 

int main() 
{ 

    initscr(); /* Start curses mode */ 
    while(1); 
    { 
     printw("hi there"); 
     refresh(); 
     sleep(1); 
    } 
    endwin(); /* End curses mode */ 
    return 0; 
} 

Он просто висит на терминале и ничего не делает. Это определенно работает, потому что мой процессор растет, но ничего не показывает. Если я удалю цикл while, он будет работать нормально. FYI, я проверяю это, потому что таймер пойдет сюда и будет показывать дополнительные данные, которые постоянно меняются.

ответ

3

Это потому, что у вас есть точка с запятой в конце вашего while условия:

while(1); // <--- Remove the ; 

Любой приличный компилятор должен предупредить вас об этом.

+0

БОГ .... Я, вероятно, должен замедлиться ... ха-ха спасибо. – cmacia06

Смежные вопросы