2014-12-03 76 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