c++学习笔记05--转义字符
1.概述
转义字符(Escape character),所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
转义字符
|
意义
|
ASCII码值(十进制)
|
\a
|
响铃(BEL)
|
007
|
\b
|
退格(BS) ,将当前位置移到前一列
|
008
|
\f
|
换页(FF),将当前位置移到下页开头
|
012
|
\n
|
换行(LF) ,将当前位置移到下一行开头
|
010
|
\r
|
回车(CR) ,将当前位置移到本行开头
|
013
|
\t
|
水平制表(HT) (跳到下一个TAB位置)
|
009
|
\v
|
垂直制表(VT)
|
011
|
\\
|
代表一个反斜线字符''\'
|
092
|
\'
|
代表一个单引号(撇号)字符
|
039
|
\"
|
代表一个双引号字符
|
034
|
\?
|
代表一个问号
|
063
|
\0
|
空字符(NUL)
|
000
|
\ddd
|
1到3位八进制数所代表的任意字符
|
三位八进制
|
\xhh
|
十六进制所代表的任意字符
|
十六进制
|
2.详细介绍
2.1 \a
\a 会在windows系统中产生一次系统提示音
#include <iostream> using namespace std;
int main() {
cout << "\a = \a" << endl;
return 0;
}
2.2 \b
\b 会向前退格一列,相当于覆盖掉前一个输出的字符。
#include <iostream> using namespace std;
int main() {
cout << "\b =" << endl;
cout << "\b =\b" <<"-" << endl;
return 0;
}
2.3 \f
关于 \f的使用方法与效果在控制台难以体现,详细资料参考:https://blog.csdn.net/m0_51183870/article/details/111477557
该文中有较详细的比较。
2.4 \n
经典换行,不多赘述。
2.5 \r
\r 会将光标移至本行开头,后续输出会将原本该行的输出内容逐渐覆盖。
#include <iostream> using namespace std;
int main() {
cout << "\r =" << endl;
cout << "\r =\r" <<"-1" << endl;
return 0;
}
2.6 \t
水平制表符,与改行之前输出部分总占一个tab间隔。根据输出结果观察到,要是\t之前的字符占用超过一个tab间隔后\t会失效。
#include <iostream> using namespace std;
int main() {
cout << "\t =\t" << endl;
cout << "\tt =\t" << endl;
cout << "\ttt =\t" << endl;
cout << "\tttt =\t" << endl;
cout << "\ttttt =\t***" << endl;
return 0;
}
2.7 \v
\v 垂直制表符,将光标移到下一个垂直制表符对齐处位置。效果在控制台难以体现。\v 在实际应用中使用频率不高。