当前位置:嗨网首页>书籍在线阅读

02-C++输入和输出概述

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

17.1 C++输入和输出概述

多数计算机语言的输入和输出是以语言本身为基础实现的。例如,从诸如BASIC和Pascal等语言的关键字列表中可知,PRINT语句、Writeln语句以及其他类似的语句都是语言词汇表的组成部分,但C和C++都没有将输入和输出建立在语言中。这两种语言的关键字包括for和if,但不包括与I/O有关的内容。C语言最初把I/O留给了编译器实现人员。这样做的一个原因是为了让实现人员能够自由地设计I/O函数,使之最适合于目标计算机的硬件要求。实际上,多数实现人员都把I/O建立在最初为UNIX环境开发的库函数的基础之上。ANSI C正式承认这个I/O软件包时,将其称为标准输入/输出包,并将其作为标准C库不可或缺的组成部分。C++也认可这个软件包,因此如果熟悉stdio.h文件中声明的C函数系列,则可以在C++程序中使用它们(较新的实现使用头文件cstdio来支持这些函数)。

然而,C++依赖于C++的I/O解决方案,而不是C语言的I/O解决方案,前者是在头文件iostream(以前为iostream.h)和fstream(以前为fstream.h)中定义一组类。这个类库不是正式语言定义的组成部分(cin和istream不是关键字);毕竟计算机语言定义了如何工作(例如如何创建类)的规则,但没有定义应按照这些规则创建哪些东西。然而,正如C实现自带了一个标准函数库一样,C++也自带了一个标准类库。标准类库是一个非正式的标准,只是由头文件iostream和fstream中定义的类组成。ANSI/ISO C++委员会决定把这个类正式作为一个标准类库,并添加其他一些标准类,如第16章讨论的那些类。本章将讨论标准C++ I/O。但首先看一看C++ I/O的概念框架。