参考:http://www.weixueyuan.net/view/6410.html

总结:

  所谓标准输入是指从标准输入设备中输入设备,通常来讲我们可以将标准输入设备理解为键盘。

  cin是标准输入类对象,它一般与输入操作符“>>”一起使用。

  输入的过程是这样的:键盘输入完数据后按下回车键,该行数据就被写入输入缓冲区中,之后输入操作符从缓冲区中提取数据,在提取的过程中会忽略空格、tab键以及换行符等空白字符。

  如果输入流处于正常状态,则cin的返回值为true,否则返回的是false。当cin遇到错误的字符或文件结束符时,输入就会处于非正常状态,此时返回值为0,终止所有数据输入操作。如读取十六进制数据的时候,输入的字符不在0-9、a-f以及A-F范围内时, 输入就会处于非正常状态。

--------------------------------   

所谓标准输入是指从标准输入设备中输入设备,通常来讲我们可以将标准输入设备理解为键盘。cin是标准输入类对象,它一般与输入操作符“>>”一起使用。输入的过程是这样的:键盘输入完数据后按下回车键,该行数据就被写入输入缓冲区中,之后输入操作符从缓冲区中提取数据,在提取的过程中会忽略空格、tab键以及换行符等空白字符

如果输入流处于正常状态,则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++标准输入流的更多相关文章

  1. java 21 - 11 IO流的标准输入流和标准输出流

    标准输入输出流 System类中的两个成员变量: public static final InputStream in "标准"输入流. public static final P ...

  2. Linuxc - 标准输入流、标准输出流、标准错误流

    输入流stdin默认是键盘,输出流stdout默认是显示器,错误流stderr #include <stdio.h> int main() { printf("请输入选择的数字: ...

  3. stdout( 标准输出流)和 stderr( 标准输入流) 重定向问题

    我想把提示信息和错误信息列表都写入到同一个文件里, /* ** 设置流, 使输出与错误流都指向指定的文件 */ if( (output1 = freopen( PATH, "a", ...

  4. java 标准输出流、标准错误输出流、标准输入流及扫描仪

    初步认识标准输出流.错误输出流.输入流.扫描仪 package com.mydemo.controller; import java.util.Scanner; public class HelloW ...

  5. C++中标准输入流cin与Ctrl+Z使用时的问题

    今天使用C++编写了一段小程序,练习使用标准库的算法,代码如下: #include <iostream> #include <algorithm> #include <v ...

  6. Java标准输入流system.in报错: java.util.NoSuchElementException解决方法

    我的程序大概是这样的: main()主函数里面,调用两个自定义的方法,这里我们称之为方法a和方法b: 主函数main()里有一个:Scanner scanner = new Scanner(Syste ...

  7. node 标准输入流和输出流

    使用node 在 CMD 控制台获取输入的指令: 方式一: process.stdin.resume(); process.stdin.setEncoding('utf-8'); process.st ...

  8. 从标准输入流中读取并执行shell指定函数

    巧妙的ohmytmux配置 看oh my tmux的配置,发现他们很巧妙的将配置和shell函数放到一个文件里 比如切换鼠标模式的相关配置和shell函数, # : << EOF # .. ...

  9. Java基础之IO流

    很长时间都没有更新了,最近在补充JavaSE的一些细节部分 关于IO流的一些总结 首先要介绍的是File类,File类用于对文件和目录的一些操作 1.创建文件CreateNewFile() 2.对文件 ...

随机推荐

  1. JavaScript Transpilers: 为什么需要用它们?Babel的使用介绍。

    英文原文 https://scotch.io/tutorials/javascript-transpilers-what-they-are-why-we-need-them 摘译(文章内的代码有些过期 ...

  2. calc_load

    http://www.penglixun.com/tech/system/how_to_calc_load_cpu.html #define FSHIFT 11 /* nr of bits of pr ...

  3. apiCloud 双击事件

    apiCloud 双击事件只能使用纯js去写 var app = new Vue({ el: "#app", data: function() { return { token: ...

  4. vue.js用select实现省,市,提交后,默认显示省,市信息

    <select v-model="citys" name="cityVal" @change="schoolName(citys)"& ...

  5. 【洛谷p2312】解方程

    (清明培训qwq,明天就要回学校了qwq拒绝) 行吧我洛谷都四天没碰了 解方程[传送门] 算法标签: (作为一个提高+省选-的题) 丁大佬真的很有幽默感emmm: #include <cstdi ...

  6. 用curl模拟夹带cookie的http请求

    1. 首先登录所要登录的网站,发起http请求,获取cookie 2. 获取请求的真正的路径,现在的前端比如vue都是用自定义路径映射后端路径的,比如在vue中某个请求为caojiangjiang/t ...

  7. Docker实现原理之Namespace,CGroup

    找了几篇这方面的文章,写的还不错,跟大家共享:DOCKER基础技术:LINUX NAMESPACE(上)DOCKER基础技术:LINUX NAMESPACE(下)DOCKER基础技术:LINUX CG ...

  8. 【Oracle】【1】查询N分钟之前的数据

    --查询距离现在N分钟前的数据 1440:表示一天有1440分钟 SYSDATE - 10 :表示10天前 参考博客: 1,oracle 查询十分钟之前的数据 - 胡金水的博客 - CSDN博客 ht ...

  9. Object.keys的使用

    链接:https://www.nowcoder.com/questionTerminal/52c41b84e32a4158883cb112a1d1f850来源:牛客网 输出对象中值大于2的key的数组 ...

  10. element中使用button会刷新一遍页面

     会刷新:   <el-form-item> <button @click="register('form')" class="submitBtn&qu ...