嗯......我正在编写一个代码,用户按下键后可立即读取用户输入... 我在网上找到了代码:
initscr();
cbreak();
noecho();
scrollok(stdscr, TRUE);
nodelay(stdscr, TRUE);
while (true) {
if (getch() == 'g') {
printw("You pressed G\n");
}
napms(500);
printw("Running\n");
}
它工作得很好......然后我转而使用cout
来打印我在getch()
中读到的内容......
我现在很困惑nucurse.h
如何处理cout
或我的意思是标准I / O ..?
答案 0 :(得分:0)
initscr
告诉(n)curses写入标准输出。但是,ncurses将其写入与cout
流分开缓存(请参阅ncurses6发行说明中的示例Output buffering),并在告知refresh
时刷新其输出。 getch
作为副作用进行refresh
调用。你的例子中没有其他refresh
个电话。
ncurses
(与SVr4 curses一样)将输入设置为原始模式,但该方面与cout
的问题无关。