第137页 | C Primer Plus 中文版 | 阅读 ‧ 电子书库

同步阅读进度,多语言翻译,过滤屏幕蓝光,评论分享,更多完整功能,更好读书体验,试试 阅读 ‧ 电子书库

8.1 单字符I/O:getchar()和putchar()

正如您在第7章“C控制语句:分支和跳转”中所见到的,getchar()和putchar()每次输入和输出一个字符。您可能觉得这种方法是一种很笨的处理问题的方法。当然了,您可以很容易地读取多于单个字符的一组数据,但是该方法确实适合计算机的能力。而且,此方法是大多数处理文本(即普通单词)的程序的核心。要回想起这些函数的工作方式,请阅读程序清单8.1,这是一个非常简单的例子。该例子要完成的一切就是获取从键盘输入的字符并将其发送至屏幕。该过程称为输入回显(echoing the input)。它使用了一个while循环,该循环在遇到#字符时终止。

程序清单8.1 echo.c程序

ANSI C将stdio.h头文件与使用getchar()和putchar()相关联,这就是我们在程序中将该文件包含在内的原因(典型地,getchar()和putchar()不是真正的函数,而是定义为预处理器宏,这一主题我们将在第16章“C预处理器和C库”中进行讨论)。运行此程序将产生如下所示的交互式结果:

看过此程序运行后,您可能想知道在回显输入之前为什么必须键入完整的一行。您可能还想知道是否存在更好的方法来终止输入。使用一个特定字符(例如#)终止输入会使您不能在文本中使用该字符。要解答这些问题,让我们来学习C程序对键盘输入的处理方式。特别地,我们来研究缓冲和标准输入文件的概念。

请支持我们,让我们可以支付服务器费用。
使用微信支付打赏


上一页 · 目录下一页


下载 · 书页 · 阅读 ‧ 电子书库