欢迎来到天天文库
浏览记录
ID:8820239
大小:51.00 KB
页数:4页
时间:2018-04-08
《对c语言中几个标准字符的理解》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、对C标准中空白字符(空格、回车符(r)、换行符()、水平制表符(t)、垂直制表符(v)、换页符(f))的理解 C标准库里中声明了一个函数: intisspace(intc); 该函数判断字符c是否为一个空白字符。 C标准中空白字符有:空格(‘’)、换页(‘f’)、换行(‘’)、回车(‘r’)、水平制表符(‘t’)、垂直制表符(‘v’)六个。下面是本人的一些理解。 空格 相信大家对它非常了解。值得注意的是它的ASCII码为0x20,而不是0
2、x00。0x00代表空(NULL)。本人初学C时认为空格值为0,惭愧惭愧。 回车(‘r’) 我们在编辑文件时,一般敲一下回车键就会转到下一行编辑。那么“回车”和“换行”是不是一回事呢? 显然不是的。大家不要被键盘上回车键效果所蒙蔽,此“回车”(回车符)非彼“回车”(回车键)。 回车(‘r’)效果是输出回到本行行首,结果可能会将这一行之前的输出覆盖掉。例如执行: puts("helloworld!rxxx"); 在终端输出的是: xxxloworld! 如果将上面的字符
3、串写入文件中,例如执行: char*s="helloworld!rxxx"; FILE*str=fopen("t.txt","r"); fwrite(s,16,1,str); 用文本编辑器打开t.txt。显示的效果将由打开的编辑器所决定。 vi的效果为 windows记事本效果为 可以看到,vi将t用^M代替,而记事本就没有显示该字符。 换行(‘’) 顾名思义,换行就是转到下一行输出。例如: puts("helloworld!");
4、 在终端中将输出 hello world! 但需要注意的是,终端输出要达到换行效果用“”就可以,但要在文本文件输出中达到换行效果在各个系统中有所区别。 在*nix系统中,每行的结尾是"",windows中则是"r",mac则是"r"。 水平制表符(‘t’) 相信大家对‘t’还是比较熟悉的。一般来说,其在终端和文件中的输出显示相当于按下键盘TAB键效果。一般系统中,显示水平制表符将占8列。同时水平制表符开始占据的初始位置是第8*n列(第一列的下标为0)。例如: pu
5、ts("0123456txx"); puts("0123456ttxx");在终端的输出为垂直制表符(‘v’) 垂直制表符不常用。它的作用是让‘v’后面的字符从下一行开始输出,且开始的列数为“v”前一个字符所在列后面一列。例如: puts("01v2345");在终端输出为换页(‘f’) 换页符的在终端的中的效果相当于*nix中clear命令。终端在输出‘f’之后内容之前,会将整个终端屏幕清空空,然后在输出内容。给人的该觉是在clear命令后的输出字符串。 最后我想说明一点,‘r’‘
6、t’‘v’‘f’也是控制字符,它们会控制字符的输出方式。它们在终端输出时会有上面的表现,但如果写入文本文件,一般文本编辑器(vi或记事本)对‘r’‘v’‘f’的显示是没有控制效果的。
此文档下载收益归作者所有