[英]ncurses, print and contemporary acquire strings
用C编写的程序使用ncurses
。 使用while
周期来连续检查是否有新消息到达队列:如果是,则将消息打印在屏幕上,然后从队列中删除:
while (condition)
{
if (queue_not_empty)
{
printw(element_from_queue);
refresh();
remove(element_from_queue);
}
}
但是,与此同时,该程序应该能够从用户处获取输入字符串,然后通过scanw
将其存储在数组char message[100]
。 但是如果我放
while (condition)
{
if (queue_not_empty)
{
printw(element_from_queue);
refresh();
remove(element_from_queue);
}
scanw(message);
}
该循环将停止,直到用户没有键入字符串,并且程序仅在用户输入后才打印队列的新消息。 它不应该是这样! 队列消息可以随时到达,应该打印出来; 用户消息可以随时到达,应该存储到数组中。
我想避免创建另一个线程,因为ncurses
在多个线程中变得很奇怪。 无论如何,我将需要两个“同时期”的while
周期,一个用于打印消息,一个用于读取用户输入。
可能有解决办法吗?
换句话说: ncurses
是否可以在同一线程的同一线程中打印一些输出并从用户那里获取一些多个字符输入?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.