什么是C++中的WinXP控制台光标控制字符?
问题描述:
我需要移动控制台光标位置的字符/转义序列。如果知道左/右/上/下游标控件是很好的选择,但如果这是不可能的,则可以使用home(转到控制台第一行的第一个字符)。提前致谢。什么是C++中的WinXP控制台光标控制字符?
答
有没有。 Windows控制台不支持这样的事情。 有关更多信息,请参阅this Wikipedia article。
但是,如果你只需要返回行的开头,你可以发出一个回车 - 试试这个:
#include <iostream>
using namespace std;
int main() {
cout << "foo" << "\r";
cout << "bar" << "\n";
}
它应该显示“酒吧”,没有“富”。
答
C++在控制台上没有光标控制的标准。这完全是操作系统的业务。
但是,大多数控制台,包括XP的支持ANSI escape sequences。
如果这对于您来说不够标准,您可以尝试在您的系统上构建curses。
+5
XP不支持ANSI转义序列。 – 2009-08-17 21:18:40
这比什么都没有好,但有没有什么办法可以回到控制台的开始? – 2009-08-17 21:15:29
不使用控制代码。你当然可以编写使用控制台API的代码,它允许你输出你喜欢的任何地方。 – 2009-08-17 21:17:15
是的。 “\ 27 [1; 1H” – 2009-08-17 21:18:39