代码之家  ›  专栏  ›  技术社区  ›  Dervin Thunk

刷新控制台中的值

  •  2
  • Dervin Thunk  · 技术社区  · 15 年前

    我不知道如何很好地解释这一点,但这里有一个机会。请不要犹豫,要求澄清。

    假设我有一个控制台,显示随特定事件变化的数字。最好的例子是显示高度、方向、风等的“平面”仪器,如:

    Altitude: 9876ft      Direction: NE
    Wind:     5km, NE
    ...
    

    我只有一个Windows和Linux控制台,我想让这些值自己刷新 就位 .

    这很简单吗?C或C代码以及任何指针都会有帮助。

    谢谢。

    5 回复  |  直到 15 年前
        1
  •  4
  •   caf    15 年前

    Curses图书馆是处理这一问题的常用方法,它是相当可移植的。

        2
  •  2
  •   Ihar Voitka    15 年前

    我会用 Console.SetCursorPosition 方法。

        3
  •  1
  •   fnurglewitz    15 年前

    你总是可以用

    for(;;)
    {
      printf("value: %d", something);
      update_value();
    #ifdef WINDOWS
      system("cls");
    #else
      system("clear");
    #endif
    }
    

    但这是最肮脏的方法=)

        4
  •  0
  •   Steve Schnepp    15 年前

    使用类似的东西 ANSI code sequence 删除控制台并重新写入。

    如果只想更新一行,在UNIX中,可以使用 \r 控制字符转到行首而不转到下一个字符。任何进一步的写作都将覆盖你所写的内容。

        5
  •  0
  •   Community kavare    7 年前

    看看这个 thread . 我认为那里提供的解决方案会适合你的需要。