【发布时间】:2010-11-20 09:31:08
【问题描述】:
我需要移动控制台光标位置的字符/转义序列。知道左/右/上/下光标控件会很好,但如果这不可能,一个家(转到控制台第一行的第一个字符)。提前致谢。
【问题讨论】:
标签: c++ console escaping windows-xp cursor-position
我需要移动控制台光标位置的字符/转义序列。知道左/右/上/下光标控件会很好,但如果这不可能,一个家(转到控制台第一行的第一个字符)。提前致谢。
【问题讨论】:
标签: c++ console escaping windows-xp cursor-position
最好的办法是使用控制台 API。这是reference from MSDN。如果您不了解控制台的工作原理,我认为您不会发现该参考很有帮助。我读到的最好的教程是this one。
【讨论】:
没有。 Windows 控制台不支持这些东西。 请参阅this Wikipedia article 了解更多信息。
但是,如果您只需要返回到行首,您可以只发出一个回车 - 试试这个:
#include <iostream>
using namespace std;
int main() {
cout << "foo" << "\r";
cout << "bar" << "\n";
}
它应该显示没有“foo”的“bar”。
【讨论】:
C++ 没有控制台光标控制的标准。这完全是操作系统的事。
但是,大多数控制台,包括 XP 都支持 ANSI escape sequences。
如果这对您来说还不够标准,您可以尝试在您的系统上构建 curses。
【讨论】: