gpt4 book ai didi

c++ - 在C/C++中,如何编辑stdout中的某个 'coordinate'?

转载 作者:搜寻专家 更新时间:2023-10-31 01:01:46 26 4
gpt4 key购买 nike

最近我一直在使用 Vim,我想知道这个程序是如何设法改变终端中某些位置的字符的。例如,当使用 :rc 时,它将光标下的字符替换为 c。

我也看到 Homebrew 做了类似的事情,它在屏幕上打印一个进度条并在必要时更新它。

这是如何在 C/C++ 中完成的?

最佳答案

在 C++ 中没有执行此操作的标准方法。

它是通过依赖于操作系统的二进制文件完成的,例如 curses和 Unix/Linux 世界中的类似库 ( ncurses )。其中一些库已跨平台移植(例如:PDCurses)

对于非常简单的东西,例如进度条或计数器,只要您保持在一行上,就有使用“\r”(carriage return) 的技巧。在输出中,将光标放回当前行的开头。示例:

for (int i = 0; i < 100; i++) {
cout << "\rProgress: " << setw(3) << i;
this_thread::sleep_for(chrono::milliseconds(100));
}

关于c++ - 在C/C++中,如何编辑stdout中的某个 'coordinate'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28393971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com