2009-08-17 68 views

回答

2

有没有。 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

-1

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

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

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

+5

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

3

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