答案 0 :(得分:2)
它无法在终端上本地完成,您必须在控制流程中执行此操作。
一个小例子
string text("Hello, World")
cout << text;
char x = getch();
while (x != '\n') { //loop breaks if you press enter
if (x == 127 || x == 8) { //for backspace(127) and delete(8) keys
cout << "\b \b"; //removes last character on the console
text.erase(text.size() - 1);
}
else {
cout << x;
text.append(x);
}
x = getch();
}
"\b"
是非破坏性退格。即它向后移动光标但不擦除。
"\b \b"
是破坏性的退格。