2014-12-03 104 views
0

由於某種原因,每當我嘗試打印一個字符串時,當我輸入一個while循環時它不會刷新屏幕......我會做什麼錯?printw()不能在while循環中工作

#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; 
} 

它只是掛在終端,什麼都不做。這是明確的運行,因爲我的CPU上升,但沒有顯示。如果我刪除while循環,它工作得很好。僅供參考,我正在測試它,因爲計時器將會在此處顯示並且會不斷變化的輔助數據。

回答

3

這是因爲你必須在你的while結束條件分號:

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

任何像樣的編譯器應該提醒你注意這一點。

+0

上帝....我應該慢下來......哈哈謝謝。 – cmacia06 2014-12-03 21:11:35