对 C 标准中空白字符( 空格、 回车符(\r)、 换行符(\n)、 水平制表符(\t)、 垂直制表符(\v)、 换页符(\f)) 的理解 C 标准库里中声明了一个函数: int isspace(int c); 该函数推断字符 c 是否为一个空白字符
C 标准中空白字符有: 空格( ‘ ’) 、 换页( ‘\f’) 、 换行( ‘\n’) 、 回车( ‘\r’) 、 水平制表符( ‘\t’) 、 垂直制表符( ‘\v’) 六个
下面是本人的一些理解
空格 信任大家对它非常了解
值得注意的是它的 ASCII 码为 0x20, 而不是0x00
0x00 代表空( NULL)
本人初学 C 时认为空格值为 0, 惭愧惭愧
回车( ‘\r’) 我们在编辑文件时, 一般敲一下回车键就会转到下一行编辑
那么”回车”和”换行”是不是一回事呢
大家不要被键盘上回车键效果所蒙蔽, 此”回车”( 回车符) 非彼”回车”( 回车键)
回车( ‘\r’) 效果是输出回到本行行首, 结果可能会将这一行之前的输出覆盖掉
例如执行: puts("hello world
\rxxx"); 在终端输出的是: xxxlo world
假如将上面的字符串写入文件中, 例如执行: char *s = "hello world
\rxxx"; FILE *str = fopen("t
txt","r"); fwrite(s, 16, 1, str); 用文本编辑器打开 t
显示的效果将由打开的编辑器所决定
vi 的效果为 windows 记事本效果为 能够看到, vi 将\t 用^M 代替, 而记事本就没有显示该字符
换行( ‘\n’) 顾名思义, 换行就是转到下一行输出
例如: puts("hello\nworld
"); 在终端中将输出 hello world