我目前正在尝试使 Qt 控制台程序与 ncurses 一起工作。我想享受 ncurses 的优势,同时仍然能够使用 QTextStream 进行输入和输出。
这个想法是while((c = getch()).....
用于一种特定类型的输入,同时QTextStream(stdin)
用于其他类型的输入。
问题是,如果我按以下方式进行:
initscr();
//do ncurses stuff
//do QTextStream(stdout) stuff
//do QTextStream(stdin) stuff
但是,如果我这样做:
initscr();
//do ncurses stuff
endwin();
//do QTextStream(stdout) stuff
//do QTextStream(stdin) stuff
我的问题是是否可以在没有重复调用的情况下实现相同的结果,initscr();
并且endwin();
每次我想接收特定类型的输入(这是程序中相对经常使用的圆顶)。如果没有,这有什么陷阱吗?我知道这绝对不是一个体面的编程实践,但它会产生除此之外的后果吗?至少,对性能的影响并不明显。