8.4 C++标准输入流
参考:http://www.weixueyuan.net/view/6410.html
总结:
所谓标准输入是指从标准输入设备中输入设备,通常来讲我们可以将标准输入设备理解为键盘。
cin是标准输入类对象,它一般与输入操作符“>>”一起使用。
输入的过程是这样的:键盘输入完数据后按下回车键,该行数据就被写入输入缓冲区中,之后输入操作符从缓冲区中提取数据,在提取的过程中会忽略空格、tab键以及换行符等空白字符。
如果输入流处于正常状态,则cin的返回值为true,否则返回的是false。当cin遇到错误的字符或文件结束符时,输入就会处于非正常状态,此时返回值为0,终止所有数据输入操作。如读取十六进制数据的时候,输入的字符不在0-9、a-f以及A-F范围内时, 输入就会处于非正常状态。
--------------------------------
如果输入流处于正常状态,则cin的返回值为true,否则返回的是false。当cin遇到错误的字符或文件结束符时,输入就会处于非正常状态,此时返回值为0,终止所有数据输入操作。
例1:
#include < iostream >
using namespace std; int main()
{
int a;
while ( cin >> hex >> a )
{
cout << a << endl;
}
cout << "The end!" << endl;
return ;
}
在本例中,我们采用循环输入的方式,将输入数据然后直接输出。因为cin返回的也是bool类型,因此可以作为条件判断表达式。在cin后面我们使用了不带参数的操纵器hex,用此操纵器表明我们输入的是16进制数据,在输出的时候我们并没有设置为16进制输出,因此系统通过内部函数将其由输入的16进制转换为10进制,然后输出。当我们输入的字符不在0-9、a-f以及A-F范围内时,cin就会处于非正常状态,返回值为false,退出while循环,之后我们输出The end结束程序。
8.4 C++标准输入流的更多相关文章
- java 21 - 11 IO流的标准输入流和标准输出流
标准输入输出流 System类中的两个成员变量: public static final InputStream in "标准"输入流. public static final P ...
- Linuxc - 标准输入流、标准输出流、标准错误流
输入流stdin默认是键盘,输出流stdout默认是显示器,错误流stderr #include <stdio.h> int main() { printf("请输入选择的数字: ...
- stdout( 标准输出流)和 stderr( 标准输入流) 重定向问题
我想把提示信息和错误信息列表都写入到同一个文件里, /* ** 设置流, 使输出与错误流都指向指定的文件 */ if( (output1 = freopen( PATH, "a", ...
- java 标准输出流、标准错误输出流、标准输入流及扫描仪
初步认识标准输出流.错误输出流.输入流.扫描仪 package com.mydemo.controller; import java.util.Scanner; public class HelloW ...
- C++中标准输入流cin与Ctrl+Z使用时的问题
今天使用C++编写了一段小程序,练习使用标准库的算法,代码如下: #include <iostream> #include <algorithm> #include <v ...
- Java标准输入流system.in报错: java.util.NoSuchElementException解决方法
我的程序大概是这样的: main()主函数里面,调用两个自定义的方法,这里我们称之为方法a和方法b: 主函数main()里有一个:Scanner scanner = new Scanner(Syste ...
- node 标准输入流和输出流
使用node 在 CMD 控制台获取输入的指令: 方式一: process.stdin.resume(); process.stdin.setEncoding('utf-8'); process.st ...
- 从标准输入流中读取并执行shell指定函数
巧妙的ohmytmux配置 看oh my tmux的配置,发现他们很巧妙的将配置和shell函数放到一个文件里 比如切换鼠标模式的相关配置和shell函数, # : << EOF # .. ...
- Java基础之IO流
很长时间都没有更新了,最近在补充JavaSE的一些细节部分 关于IO流的一些总结 首先要介绍的是File类,File类用于对文件和目录的一些操作 1.创建文件CreateNewFile() 2.对文件 ...
随机推荐
- VMware vSphere client 中英文语言界面设置
安装的时候可以选择简体中文,然后安装后,对vsphere client的执行程序制作快捷方式 以win7 x64环境默认路径为例 英文启动如下: "C:Program Files (x86) ...
- BIO NIO AIO之间的区别
一.BIO.NIO.AIO的基本定义与类比描述: BIO (Blocking I/O):同步阻塞I/O模式,数据的读取写入必须阻塞在一个线程内等待其完成.这里使用那个经典的烧开水例子,这里假设一个烧开 ...
- android -------- 解决NDK开发中的 Method 'NewStringUTF' could not be resolved
创建NDK项目时, .cpp文件中出现错误, Method 'NewStringUTF' could not be resolved 如图: 网上看了很多解决方式 项目右键->属性->c/ ...
- 4.1.3 Euclid's Game (POJ 2348)
Problem description: 以辗转相除法为基础,给定两个整数a和b,Stan和Ollie轮流从较大的数字中减去较小数字的倍数(整倍数),并且相减后的结果不能为零.Stan先手,在自己的回 ...
- 利用phpqrcode二维码生成类库和imagecopymerge函数制拼接图片的经验
前期准备 引入phpqrcode类库(下载地址:https://sourceforge.net/projects/phpqrcode/) PHP开启GD扩展库支持 1.利用phpqrcode生成二维码 ...
- MySQL之库表详细操作
一 库操作 1.创建数据库 1.1 语法 CREATE DATABASE 数据库名 charset utf8; 1.2 数据库命名规则 可以由字母.数字.下划线.@.#.$ 区分大小写 唯一性 不能使 ...
- 第二阶段——个人工作总结DAY05
1.昨天做了什么:将值由一个活动传递到另一个活动. 2.今天打算做什么:打算制作修改密码的界面. 3.遇到的困难:因为是任务是分开的,所需要获取的值是通过另一个活动(不是自己任务)的传递过来的,所以还 ...
- leetcode-algorithms-2 Add Two Numbers
leetcode-algorithms-2 Add Two Numbers You are given two non-empty linked lists representing two non- ...
- Highcharts 环境配置
Highcharts 环境配置 本章节我们将为大家介绍如何在网页中使用 Highcharts. Highcharts 依赖于 jQuery,所以在加载 Highcharts 前必须先加载 jQuery ...
- 函数使用二:采购申请BAPI_PR_CREATE
REPORT YTEST01. ***************************采购申请创建*****************************begin DATA:LV_BANFN TY ...