写代码时想要用\b加空格删掉原本输出在终端上的字符,比如
printf("abc");
fflush(stdout);
printf("\b\b\b ");
但是在删除中文字符的时候出现了问题
我的想法是:utf8的中文按3个字节存放,所以删除中文字符只要用3个退格+空格覆盖即可
printf("中文字符\b\b\b \n");
然而结果是

前一个字符也被覆盖了……
最后发现只要2个\b,就正常了,但这是为什么?难度中文打印出来的时候只有两个字节??
printf("中文字符\b\b \n");