0

有没有办法删除或重写控制台窗口上的符号?System("cls") 之类的东西,但只有一个符号。

谢谢

4

1 回答 1

3

首先,您通常使用 C++ 处理标准输出流,而不是控制台本身。而且您无法浏览它。

另一方面,您可以使用特定平台相关的控制台库(如ncursesWindows 控制台函数)来处理控制台。

但是,如果您实际打印到控制台,您可以使用一些符号来控制最后一行:

  • 您可以发送'\b'( Backspace) 在当前行向左移动一个字符。
  • 您可以发送'\r'移动到当前行的开头。

也不要忘记,这stdout通常是行缓冲的,你可能不得不用手冲洗。

int main()
{
    std::cout << "Hi\r" << std::flush;
    Sleep(1000); //or whatever to delay
    std::cout << "hellq" << std::flush; // flushing by hands
    Sleep(1000);
    std::cout << "\bo";
}
于 2013-05-12T10:34:25.557 回答