c++Primer----初识输入输出

知识点:

1. iostream库包含两个基础类型istream和ostream,分别表示输入流和输出流。一个流就是一个字符序列,是从IO设备读出或写入IO设备的。术语“流”(stream)想要表达的是,随着时间的推移,字符是顺序生成或消耗的。

2. 书上原文:标准库定义了4个IO对象,处理输入时使用命名为cin的istream类型对象,这个对象也成为标准输入。处理输出时使用命名为cout的ostream类型对象,这个对象也称为标准输出。标准库还定义了另外两个ostream对象,分别命名为cerr和clog。cerr对象又叫标准错误,通常用来输出警告和错误信息给程序的使用者,而clog对象用于产生程序执行的一般信息。一般情况下,系统将这些对象与执行窗口联系起来,这样,当我们从cin读入时,数据从执行程序的窗口读入,当写到cout、cerr、clog时,输出写至同一窗口。

cout 经过缓冲后输出,默认情况下是显示器。这是一个被缓冲的输出,是标准输出,并且可以重新定向。

cerr 不经过缓冲而直接输出,一般用于迅速输出出错信息,是标准错误,默认情况下被关联到标准输出流,但它不被缓冲,也就说错误消息可以直接发送到显示器,而无需等到缓冲区或者新的换行符时,才被显示。一般情况下不被重定向。

ps:什么是重定向?可以理解为把原来的cin从键盘输入改为从文件输入。把原来的cout向屏幕输出改为输出到文件。

       缓冲区的目的?就是减少刷屏的次数。即缓存足够多的数据一齐输出,减少刷屏次数。

3. endl:当向cout流插入一个endl,立即输出缓冲区中所有数据,然后插入一个换行符 。

#include <iostream>
#include "stdlib.h"
int main()
{
	
	std::cout << "Enter two numbers:" << std::endl;
	int num[2],i = 0;
	
	do
	{
		std::cin >> num[i++];
	}
	while(std::cin.get()!='\n');    // 回车键为结束符
	if (i == 2)
	{
		std::cout << "The sum of " << num[0] << " and " << num[1]
				<< " is " << num[0] + num[1] << std::endl;
	}
	else
	{
		std::cerr << "The inputs is wrong." << std::endl;
		std::clog << "This is a log." << std::endl;
	}
	
	system("pause");
	return 0;
} 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值