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.对文件 ...
随机推荐
- You Don't Know JS: Scope & Closures (第3章: 函数 vs 块作用域)
第二章,作用域由一系列的bubbles组成.每一个都代表了一个container或bucket,装着被声明的identifiers(variables, functions).这些bubbles相互嵌 ...
- Selenium自动化测试框架入门整理
关注嘉为科技,获取运维新知 本文主要针对Selenium自动化测试框架入门整理,只涉及总体功能及框架要点介绍说明,以及使用前提技术基础要求整理说明.作为开发人员.测试人员入门参考. 本文参考:Se ...
- android--------自定义控件 之 方法篇
前面简单的讲述了Android中自定义控件的理论和流程图,今天通过代码来详细的讲解一下其中的方法 首先先创建一个类 CircularView 继承于 View,之后实现构造方法(初始化步骤) publ ...
- php 中输入输出提交
</head> <body> 输出的两个位置 <? echo $_POST['sub']; ?> <form action="" meth ...
- react中使用antd Table组件滚动加载数据的实现
废话不多说,直接上代码.一目了然. import React, { Component } from "react"; import { Table } from "an ...
- codepen素材 coffeeScript -> JavaScript
将coffeeScript代码复制到下面的网址进行转换: http://js2.coffee/
- Redis php常用操作
$redis = new redis(); //连接 $redis->connect('127.0.0.1',6379); // //设置值 $result = $redis->set(' ...
- WebAPi获取请求头中对应键值
/// <summary> /// 依据键获取请求头中值数据 /// </summary> /// <param name="request"> ...
- Python3+smtplib+poplib+imaplib实现发送和收取邮件(以qq邮箱为例)
一.说明 1.1 程序说明 (1)smtp是邮件发送协议:pop和imap都是邮件接收协议,两者的区别通常的说法是imap的操作会同步到邮箱服务器而pop不会,表现上我也不是很清楚 (2)本程序实现使 ...
- html5手机web app <input type="file" > 只调用图库,禁止调用摄像头?
<input type="file" accept="image/*"><input type="file" accept ...