什么是C++中的WinXP控制台光标控制字符?

问题描述:

我需要移动控制台光标位置的字符/转义序列。如果知道左/右/上/下游标控件是很好的选择,但如果这是不可能的,则可以使用home(转到控制台第一行的第一个字符)。提前致谢。什么是C++中的WinXP控制台光标控制字符?

有没有。 Windows控制台不支持这样的事情。 有关更多信息,请参阅this Wikipedia article

但是,如果你只需要返回行的开头,你可以发出一个回车 - 试试这个:

#include <iostream> 
using namespace std; 

int main() { 
    cout << "foo" << "\r"; 
    cout << "bar" << "\n"; 
} 

它应该显示“酒吧”,没有“富”。

+0

这比什么都没有好,但有没有什么办法可以回到控制台的开始? – 2009-08-17 21:15:29

+2

不使用控制代码。你当然可以编写使用控制台API的代码,它允许你输出你喜欢的任何地方。 – 2009-08-17 21:17:15

+0

是的。 “\ 27 [1; 1H” – 2009-08-17 21:18:39

C++在控制台上没有光标控制的标准。这完全是操作系统的业务。

但是,大多数控制台,包括XP的支持ANSI escape sequences

如果这对于您来说不够标准,您可以尝试在您的系统上构建curses

+5

XP不支持ANSI转义序列。 – 2009-08-17 21:18:40

最好的事情是使用控制台API。这里是reference from MSDN。如果您不了解控制台的工作原理,我认为您不会找到该参考非常有用。我读到的最好的教程是this one