如何在不移动c ++中的光标坐标的情况下将文本输出到控制台到特定坐标

时间:2012-12-25 20:08:08

标签: c++ text position output

我有一个c ++应用程序,在DEV C ++中编译,它包含pthread多线程库。我有2个帖子。默认的int main()和我创建的线程将打印出来 一周中的几天,每隔几秒钟一次。但是当我执行它时,它可以工作,但是 程序中只有一个光标。这就是问题所在:我需要一种方法将一周的这些天写入屏幕到坐标0, 50,例如,只需定位文本 不是光标。这是带光标的第一个线程,不会干扰我的第二个线程 输出,他们将同时执行

1 个答案:

答案 0 :(得分:0)

假设您正在使用ncurses或类似的东西?因此,您的控制台终端是共享资源,您必须使用互斥锁保护它,并注意每个线程中的光标定位。您还可以将一个线程声明为另一个线程恢复其光标位置的boss。在获取互斥锁之后,其他线程会执行类似getcurx,getcury,自己定位和outout的操作,然后恢复使用getcurx / y检索的光标位置。
请注意,在每种情况下,所有线程都需要在访问终端之前获取互斥锁 您还可以检查是否可以在ncurses中使用内置线程支持,请注意use_screenuse_window