前面几节的示例程序几乎没有提供与用户的交互(如果有的话)。它们只是在屏幕上打印简单的值,但标准库提供了许多其他方式来通过其输入/输出功能与用户交互。本节将简要介绍一些最有用的功能。
C++ 使用一种称为流的便捷抽象在顺序媒体(如屏幕、键盘或文件)中执行输入和输出作。流是一个实体,程序可以在其中插入或提取字符。无需了解与流关联的媒体或其任何内部规范的详细信息。我们需要知道的是 streams 是字符的源 / 目标,并且这些字符是按顺序提供/接受的(即,一个接一个)。
标准库定义了一些流对象,这些对象可用于访问程序运行环境认为是字符的标准源和目标的内容:
流 | 描述 |
---|---|
cin |
标准输入流 |
cout |
标准输出流 |
cerr |
标准错误(输出)流 |
clog |
标准日志记录(输出)流 |
我们将更详细地了解 and(标准输出和输入流); 并且也是 output streams,因此它们本质上的工作方式类似于 ,唯一的区别是它们为特定目的标识流:错误消息和日志记录;在许多情况下,在大多数环境设置中,它们实际上做完全相同的事情:它们在屏幕上打印,尽管它们也可以单独重定向。cout
cin
cerr
clog
cout
标准输出 (cout)
在大多数程序环境中,默认情况下,标准输出是 screen,而定义为访问它的 C++ 流对象是 。
对于格式化输出作,与 insertion 运算符一起使用,该运算符写为 (即两个“小于”符号)。cout
cout
<<
|
|
运算符将后面的数据插入到前面的流中。在上面的示例中,它将 Literal string 、 number 和 value of variable 插入到标准输出流中。请注意,第一个语句中的句子用双引号 () 括起来,因为它是字符串文本,而在最后一个语句中,则不是。双引号是造成差异的原因;当文本被括在它们之间时,文本按字面打印;如果不是,则文本将解释为变量的标识符,并改为打印其值。例如,这两个句子的结果非常不同:<<
Output sentence
120
x
cout
"
x
|