【问题标题】:how to output text to console to specific coordinates without moving the cursor coordinates in c++如何在不移动 C++ 中的光标坐标的情况下将文本输出到控制台到特定坐标
【发布时间】:2012-12-25 20:08:07
【问题描述】:

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

【问题讨论】:

标签: c++ text position output


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-05-11
    • 1970-01-01
    • 2016-06-18
    • 2020-05-14
    • 1970-01-01
    • 2013-07-25
    • 1970-01-01
    • 2010-12-12
    相关资源
    最近更新 更多