getchar()和putchar()个函数是用来获取和显示字符的,并且每次只能处理一个字符。
getchar()是怎么获取字符的??(见下图)
当输入“seantest”这一串字符时,这字符会被自动存储在“缓冲区”,当按下“Enter”键,getchar()再从缓冲区读取一个字符,每次都只能处理一个字符。过程如下图所示:
文件结尾
当计算机读取文件时,需要知道文件的结尾,检测文件结尾的方法不止一种,其中一种方法是用一个特殊字符来标记文件的结尾,不同系统都会有自己标记文件结尾的字符,Windows中用Ctrl+Z来标记结尾。
在C语言中,当getchar()获取文件结尾时将返回一个特殊值“EOF”,EOF(end of file的缩写)就是整数-1,之所以是-1是因为它不能表示任何标准字符(getchar()返回值为0~127)。由此,我们可以用while((ch=getchar())!='EOF')进行文件是否结尾判断,当按下Ctrl+Z时循环退出。