在不使用WinAPI的情况下,Windows是否可以实现这一点?
您不能删除最后一个字符。
但是您可以通过覆盖最后一个字符来实现类似的效果。 为此,您需要通过输出'\b'(退格)字符将控制台光标向后移动,如下所示。
#include<iostream>
using namespace std;
int main()
{
cout<<"Hi";
cout<<'\b'; //Cursor moves 1 position backwards
cout<<" "; //Overwrites letter 'i' with space
}
那么输出将会是
H
std::cout<<"\b \b";
cin.get()
来删除最后一个字符。不行。
如果没有访问控制台 API,您将无法进行此操作。但是这种 API 通常并不标准化。
flush
输出缓冲区。 - rubenvb