【问题标题】:What are the WinXP console cursor control characters in c++?c++ 中的 WinXP 控制台光标控制字符是什么?
【发布时间】:2010-11-20 09:31:08
【问题描述】:

我需要移动控制台光标位置的字符/转义序列。知道左/右/上/下光标控件会很好,但如果这不可能,一个家(转到控制台第一行的第一个字符)。提前致谢。

【问题讨论】:

    标签: c++ console escaping windows-xp cursor-position


    【解决方案1】:

    最好的办法是使用控制台 API。这是reference from MSDN。如果您不了解控制台的工作原理,我认为您不会发现该参考很有帮助。我读到的最好的教程是this one

    【讨论】:

      【解决方案2】:

      没有。 Windows 控制台不支持这些东西。 请参阅this Wikipedia article 了解更多信息。

      但是,如果您只需要返回到行首,您可以只发出一个回车 - 试试这个:

      #include <iostream>
      using namespace std;
      
      int main() {
          cout << "foo" << "\r";
          cout << "bar" << "\n";
      }
      

      它应该显示没有“foo”的“bar”。

      【讨论】:

      • 总比没有好,但是有没有办法回到控制台的开头?
      • 不使用控制代码。你当然可以编写使用控制台 API 的代码,它允许你在任何你喜欢的地方输出。
      • 我试图避免使用 Conlib。看来我得用它了。
      【解决方案3】:

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

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

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

      【讨论】:

      • XP 不支持 ANSI 转义序列。
      猜你喜欢
      • 1970-01-01
      • 2013-01-02
      • 1970-01-01
      • 1970-01-01
      • 2015-07-19
      • 1970-01-01
      • 1970-01-01
      • 2011-06-12
      相关资源
      最近更新 更多