C++ 使用用户输入动态更改控制台

C++ 使用用户输入动态更改控制台,c++,C++,我试图弄清楚,当用户输入一个数字时,是否有办法在一行中移动某些字符 例如,我希望用户输入介于[_;]之间的数字。但是,当用户输入号码时,它最终将覆盖']'。当用户输入数字时,如何移动“]” 我希望我不必一次循环一个字符。(我期待一个双倍的值) std::cout>变量; //不确定是否应该循环使用用户输入的单个字符。 这只有在控制台支持的情况下才可能实现,例如,windows控制台使用不同的Linux代码 需要发送到终端的命令是ANSI转义序列,如下所述: 定位光标: \033[;H 或 \

我试图弄清楚,当用户输入一个数字时,是否有办法在一行中移动某些字符

例如,我希望用户输入介于[_;]之间的数字。但是,当用户输入号码时,它最终将覆盖']'。当用户输入数字时,如何移动“]”

我希望我不必一次循环一个字符。(我期待一个双倍的值)

std::cout>变量;
//不确定是否应该循环使用用户输入的单个字符。

这只有在控制台支持的情况下才可能实现,例如,windows控制台使用不同的Linux代码

需要发送到终端的命令是ANSI转义序列,如下所述:

  • 定位光标: \033[;H 或 \033[;f 将光标放在L行和C列
  • 将光标向上移动N行: \033[A]
  • 将光标向下移动N行: \033[B
  • 将光标向前移动N列: \033[C
  • 将光标向后移动N列: \033[D
例如,你可以:

std::cout << "Enter a number between 1 and 10: [..]\033[D2";

std::无法一直清除控制台。并继续重写存储更新的缓冲区。@activatedgeek不会导致闪烁吗?请查看ncurses。我自己没有使用过该库,但看起来它正是您要找的。它的一个功能是在屏幕上设置光标位置的命令。@user2970916 probabl是的!
std::cout << "Enter a number between 1 and 10: [..]\033[D2";