设为首页 加入收藏

TOP

1.2 初识输入输出(1)
2013-10-07 16:26:09 来源: 作者: 【 】 浏览:108
Tags:1.2 初识 输入 输出

1.2  初识输入输出(1)

C++(www.cppentry.com)语言并未定义任何输入输出(IO)语句,取而代之包含了一个全面的标准库(standard library)来提供IO机制(以及很多其他设施)。对于很多用途,包括本书中的示例来说,我们只需了解IO库中一部分基本概念和操作。

本书中的很多示例都使用了iostream库。iostream库包含两个基础类型istream和ostream,分别表示输入流和输出流。一个流就是一个字符序列,是从IO设备读出或写入IO设备的。术语"流"(stream)想要表达的是,随着时间的推移,字符是顺序生成或消耗的。

标准输入输出对象

标准库定义了4个IO对象。为了处理输入,我们使用一个名为cin(发音为see-in)的istream类型的对象。这个对象也被称为标准输入(standard input)。对于输出,我们使用一个名为cout(发音为see-out)的ostream类型的对象。此对象也被称为标准输出(standard output)。标准库还定义了其他两个ostream对象,名为cerr和clog(发音分别为see-err和see-log)。我们通常用cerr来输出警告和错误消息,因此它也被称为标准错误(standard error)。而clog用来输出程序运行时的一般性信息。

系统通常将程序所运行的窗口与这些对象关联起来。因此,当我们读取cin,数据将从程序正在运行的窗口读入,当我们向cout、cerr和clog写入数据时,将会写到同一个窗口。

一个使用IO库的程序

在书店程序中,我们需要将多条记录合并成单一的汇总记录。作为一个相关的,但更简单的问题,我们先来看一下如何将两个数相加。通过使用IO库,我们可以扩展main程序,使之能提示用户输入两个数,然后输出它们的和:
 

  1. #include <iostream> 
  2. int main()  
  3. {  
  4.     std::cout << "Enter two numbers:" << std::endl;  
  5.     int v1 = 0v2 = 0;  
  6.     std::cin >> v1 >> v2;  
  7.     std::cout << "The sum of " << v1 << " and " << v2 
  8.               << " is " << v1 + v2 << std::endl;  
  9.     return 0;  

这个程序开始时在用户屏幕打印

  1. Enter two numbers: 

然后等待用户输入。如果用户键入

  1. 3 7 

然后键入一个回车,则程序产生如下输出:

  1. The sum of 3 and 7 is 10 

程序的第一行

  1. #include <iostream> 

告诉编译器我们想要使用iostream库。尖括号中的名字(本例中是iostream)指出了一个头文件(header)。每个使用标准库设施的程序都必须包含相关的头文件。#include指令和头文件的名字必须写在同一行中。通常情况下,#include指令必须出现在所有函数之外。我们一般将一个程序的所有#include指令都放在源文件的开始位置。

向流写入数据

main的函数体的第一条语句执行了一个表达式(expression)。在C++(www.cppentry.com)中,一个表达式产生一个计算结果,它由一个或多个运算对象和(通常是)一个运算符组成。这条语句中的表达式使用了输出运算符(<<)在标准输出上打印消息:

  1. std::cout << "Enter two numbers:" << std::endl

<<运算符接受两个运算对象:左侧的运算对象必须是一个ostream对象,右侧的运算对象是要打印的值。此运算符将给定的值写到给定的ostream对象中。输出运算符的计算结果就是其左侧运算对象。即,计算结果就是我们写入给定值的那个ostream对象。

我们的输出语句使用了两次<<运算符。因为此运算符返回其左侧的运算对象,因此第一个运算符的结果成为了第二个运算符的左侧运算对象。这样,我们就可以将输出请求连接起来。因此,我们的表达式等价于

  1. (std::cout << "Enter two numbers:") << std::endl;  

链中每个运算符的左侧运算对象都是相同的,在本例中是std::cout。我们也可以用两条语句生成相同的输出:
 

  1. std::cout << "Enter two numbers:";  
  2. std::cout << std::endl

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.6 自定义数据结构 下一篇1.2 初识输入输出(2)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Redis 分布式锁全解 (2025-12-25 17:19:51)
·SpringBoot 整合 Red (2025-12-25 17:19:48)
·MongoDB 索引 - 菜鸟 (2025-12-25 17:19:45)
·What Is Linux (2025-12-25 16:57:17)
·Linux小白必备:超全 (2025-12-25 16:57:14)