输入输出初步(C++)

论坛 期权论坛     
选择匿名的用户   2021-5-23 05:27   80   0
<p>1. 标准输入/输出</p>
<p>1.1 标准设备</p>
<p>1.1.1 概念</p>
<p>单纯在控制台窗口运行的C/C&#43;&#43;程序,需要通过窗口进行输入/输出。C/C&#43;&#43;通过一些列的函数从键盘获取按键信息,或者将数据信息传送到窗口显示。</p>
<p>C/C&#43;&#43;把键盘设备默认为标准输入设备,把控制台窗口默认为标准输出设备。意即一运行程序,只要与输入/输出设备打交道,便默认地与键盘和控制台窗口发生联系。标准设备有一些标准的操作,只要其他设备指定为标准设备,则都可以使用这些标准的操作来进行输入/输出。</p>
<p>1.1.2 操作</p>
<p>C语言的标准设备中的标准操作由一组函数规定,其中典型的有scanf与printf,putchar与puts,getchar与gets等。除此之外,还有专门针对控制台设备的putch,getch等操作。</p>
<p>1.1.3 内部硬件驱动</p>
<p>要操作标准设备,必将根据程序代码的指定去驱动特定的设备。如果是针对特定设备的操作,例如专门针对控制台的操作,则可以省去设备选择的步骤。</p>
<p>1.1.4 流概念主导</p>
<p>标准设备的标准操作的关键是将设备看做是一个字符流,内中含有诸多可见与不可见的字符,通过识别流中特定的符号来控制操作的结束。例如,读取一行字串,可以按序取一些字符,直至遇到回车符;读取一个字串,可以按序取一些字符,直至遇到整数0(表示字串结束)。</p>
<p>1.1.5 流结构原理</p>
<p>标准设备的流特性,表现为一个一定容量的储流罐,即输入或输出缓冲区。对于输入缓冲区来说,它一边被程序所读,一边按需去取设备中的字符数据,对于输出流来说,它一边被程序所写,即接受程序传过来要求输出的内容,一边按需去写设备。所谓按需,就是查验到输入缓冲区将空,或者输出缓冲区将满。</p>
<p>1.2 标准流</p>
<p>1.2.1 操作独立性</p>
<p>程序运行特别是计算结束时需要显示运行结果。运行结果可以随计算的深入逐步显示,也可以等全部计算都完成之后统一显示。所以,显示结果的动作应该是独立的,不应该嵌在其他功能语句中,而是随需要而执行,故用单独的输出语句来完成输出的任务。之前的输出语句正是这样用的。</p>
<p>1.2.2 标准流设备</p>
<p>cin和cout是C&#43;&#43;中的标准流。标准以为着其他一切流设备只要建立同样结构的流设施,则其操作就可以与此流设备相同。而标准流设备则意味着通常的流操作的制定的默认设备。标准流输入设备指的是键盘,标准流输出设备指的是控制台窗口。这就是为什么只要一进行cin的&gt;&gt;操作,就将会从键盘等待,一进行cout的&lt;&lt;操作,就将会在控制台窗口看到显示结果。</p>
<p>1.3. 标准设备与标准流</p>
<p>1.3.1 差别</p>
<p>标准设备是C语言对控制台开发的输入/输出设施,标准流是C&#43;&#43;语言对控制台开发的输入/输出设施,两者虽然都实现了控制台的输入/输出,但是实现原理大相径庭。它们操作原理不同,操作也不同,一个是通过函数调用,一个是通过数据类型中的成员操作来实现输输入\输出,所以两者不能混用。</p>
<p>1.3.2 标准化的意义</p>
<p>输入/输出语句依赖于输入/输出设备。设备是多种多样的,但是所设计的输入/输出操作不论什么设备都应该一样。这就是设备的标准化的意义。一旦标准化,输入/输出操作就不会因为设备不同而不同,就比较简单了。</p>
<p>当在程序中指定某个设备为流设备后,只要做标准流操作就可以对该设备进行存取访问了。文件流(头文件为fstream)和子串流(头文件为stringstream)就是很特殊的两种流设备。</p>
<p>1.3.3 作为数据类型</p>
<p>标准流在C&#43;&#43;中实现为一种数据类型。依赖于数据类型,它的操作就容易被添加而扩展,从而能方便地识别任何自定义的数据类型,接受这些类型实体的输出;依赖于数据类型,其他设备也很容易被该流类型所捆绑(继承),从而可用标准流操作访问其他设备;依赖于数据类型,通过在数据类型中定义错误处理类和一场标准,其流操作便更安全,及时遇到设备以外或者错误,可以从从容应对。这是C标准设备操作所望尘莫及的,也是用标准流操作代替标准设备操作的关键所在。</p>
<p>2 输入流</p>
<p>C&#43;&#43;的输入流可以按存放的数据实体类型而去识别实际的数据。例如,对于下列数据:</p>
<p>123          5.6           2.3E-3
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP