当我想在同一行中打印出另一个文本时,我可以这样做:
int i = 0;
string text = "Paragraph ";
while (i < 10) {
if (clock() % CLOCKS_PER_SEC == 0) {
cout << text << i + 1 << "\r";
cout.flush();
i++;
}
}
但是,我怎样才能用多行来做到这一点?我想将一个段落作为一个整体保留在终端的初始位置。如果我将 text
更改为包含带有一些换行符的段落的字符串,它会在最后打印的段落下方打印另一个新段落 block 。
如何保持它的位置?
最佳答案
你的问题不是很清楚,但我假设你想知道如何覆盖当前行以外的地方的文本。
标准 C++ 不提供此功能。您将不得不使用特定于操作系统的功能将光标放置在控制台的任意位置。
在类 Unix 系统下,您通常会使用 ANSI escape sequences
在 Windows 下,您最好使用控制台操作函数,尤其是 SetConsoleCursorPosition .看here更多控制台功能。
关于c++ - 如何在多行中使用回车?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29344362/