程序员不能打印两类字符:一类是不可打印的字符,如退格或其他控制字符,因为它们没有可视的图符;另一类是在C++语言中含有特殊含义的字符(单引号,双引号,问号,反斜线等),在这些情况中需要转义序列。
重点:
\x后跟1个或多个十六进制数字,例:\x1234表示16位的字符,而char占8位,所以编译不通过,应修改为:\xU1234
\后面紧跟1个,2个或3个八进制数字,超过3个数字的,只有前三个与\构成转义序列,剩下的则表示单个字符,例\12345,即八进制123以及字符45。
/t :相当于Tab键,一共包含8个字符。如果直接输出,就会输出八个空格;如果前面有n个字符,那么就会输出(8-n)个空格,使得字符加上空格刚好占用8个字符空间。
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
cout<<"\t"<<"I"<<endl;// 输出:I之前有8个空格
cout<<"abc\t"<<"I"<<endl;// 输出:I之前有5个空格
system("pause");
return 0;
}
\b :相当于电脑上的左移箭,光标往前移动一个位置,但是不删除,如果有新的字符输入,那么将会覆盖光标所在位置及后面的数据。
'101' :通用转义符形式,101(八进制)= 65(十进制)= A (ASCII码)
'\x41' :通用转义符形式,41(十六进制)= 65 (十进制)= A(ASCII码)
实例
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
cout<<"ab c\t de\rf\tg"<<endl;
cout<<"h\ti\b\bj k\n123\'\"\\\x41\102CDE"<<endl;
system("pause");
return 0;
}
输出结果:(“_”代表空格)
f _ _ _ _ _ _ _ _gde
h_ _ _ _ _ _ j _ k
123 ' " \ABCDE
引用自:https://blog.csdn.net/qq_43152052/article/details/86772377