【C/C++】关于'\b'的简单探究
最重要的一点,'\b'的意思不是退格,而是把光标前移一位。在输出'\b'的时候,本质上字符串是不会有变化的。
而对于"\b\n"这样的输出信息,由于'\n'也仅仅是光标的移动操作(把光标移动到下一行开头),因此'\b\n'不会修改任何后面的字符。
做一个实验(在Windows环境下,为了方便使用了windows.h的函数)
#include<iostream>
#include<windows.h>
using namespace std;
int main(){
cout<<"abcd";
Sleep(1000);
cout<<"\b";//无反应,此时光标在c的位置
Sleep(1000);
cout<<"e";//把最后的d改成e
Sleep(1000);
cout<<"\b\n";//无反应
}
可以看到,隔了两秒的时间再输出e。