码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C++基础知识(十)--- I/O


    目录

    一. I/O

    二. 标准I/O流

    三. 缓冲区的概念

    四. 标准输入流

    (1)cin.get()                   //一次只能读取一个字符 

             cin.get(一个参数)    //读一个字符

    (2)cin.get(两个参数)    //可以读字符串

             cin.ignore()             //忽略

    (3)cin.getline()           //取一行,换行符丢弃

    (4)cin.putback()        //将数据放回缓冲区

    (5)cin.peek()            //偷窥缓冲区的数据

    (6)练习

    五. 标准输出流

    (1)

    (2)通过流成员函数实现格式化输出

    (3)通过控制符来格式化输出,需引入头文件iomanip

    (4)设置浮点数的输出


    一. I/O

    程序的输入:从输入文件将数据传送给程序;

    程序的输出:从程序将数据传送给输出文件;

    C++输入输出包含三个方面:

    • 标准IO:从键盘输入数据,输出到显示器屏幕;
    • 文件IO:从磁盘文件输入数据,数据输出到磁盘文件,以外存文件为对象的输入输出;
    • 串IO:对内存中指定的空间进行输入输出,通常指定一个字符数组为存储空间(可以利用该空间存储任何信息),称为字符串输入输出。

    与iostream类库有关的头文件:

    iostream类库中不同的类的声明被放在不同的头文件中,用户在自己的程序中用#include命令包含了有关的头文件就相当于在本程序中声明了所需要用到的类。可以换—种说法:头文件是程序与类库的接口,iostream类库的接口分别由不同的头文件来实现。常用的有:

    • iostream  包含了对输入输出流进行操作所需的基本信息。
    • fstream  用于用户管理的文件的I/O操作。
    • strstream  用于字符串流I/O。
    • stdiostream  用于混合使用C和C + +的I/O机制时,例如想将C程序转变为C++程序。

    在iostream头文件中定义的流对象:

    在 iostream 头文件中定义的类有 ios,istream,ostream,iostream,istream 等。

    对象

    含义

    对应设备

    对应的类

    c语言中相应的标准文件

    cin

    标准输入流

    键盘

    istream_withassign

    stdin

    cout

    标准输出流

    屏幕

    ostream_withassign

    stdout

    cerr

    标准错误流

    屏幕

    ostream_withassign

    stderr

    clog

    标准错误流

    屏幕

    ostream_withassign

    stderr

    在iostream头文件中重载运算符:

    “<<”和“>>”本来在C++中是被定义为左位移运算符和右位移运算符的,由于在iostream头文件中对它们进行了重载, 使它们能用作标准类型数据的输入和输出运算符。所以,在用它们的程序中必须用#include命令把iostream包含到程序中。

        #include

    1. >>a表示将数据放入a对象中。
    2. <

    二. 标准I/O流

    标准I/O对象:cin,cout,cerr,clog。

    cout:console output的缩写,意为在控制台(终端显示器)的输出。

    cout不是C++预定义的关键字,它是ostream流类的对象,在iostream中定义。 顾名思义,流是流动的数据,cout流是流向显示器的数据。cout流中的数据是用流插入运算符“<<”顺序加入的。

    用“cout<<”输出基本类型的数据时,不必像C语言的printf要考虑数据是什么类型,系统会判断数据的类型,并根据其类型选择调用与之匹配的运算符重载函数。

    cout流在内存中对应开辟了一个缓冲区,用来存放流中的数据,当向cout流插人一个endl时,不论缓冲区是否已满,都立即输出流中所有数据,然后插入一个换行符, 并刷新流(清空缓冲区)。

     在iostream中只对"<<"和">>"运算符用于标准类型数据的输入输出进行了重载,但未对用户声明的类型数据的输入输出进行重载。如果用户声明了新的类型,并希望用"<<"和">>"运算符对其进行输入输出,按照重运算符重载来做。

    三. 缓冲区的概念:

    四. 标准输入流

    标准输入流对象cin,重点掌握的函数:

    (1)cin.get()                 //一次只能读取一个字符 

             cin.get(一个参数)  //读一个字符

     

    (2)cin.get(两个参数)    //可以读字符串

             cin.ignore()             //忽略

    (3)cin.getline()           //取一行,换行符丢弃

    (4)cin.putback()        //将数据放回缓冲区

    (5)cin.peek()           //偷窥缓冲区的数据

    (6)练习

    五. 标准输出流

    (1)

    (2)通过流成员函数实现格式化输出

    (3)通过控制符来格式化输出,需引入头文件iomanip

    (4)设置浮点数的输出

  • 相关阅读:
    Overleaf中使用 LaTex制作PPT
    java计算机毕业设计河南省农村多元化养老服务管理系统设计与实现MyBatis+系统+LW文档+源码+调试部署
    Evil.js源码解读
    【阿旭机器学习实战】【19】如何在不减少分辨率的情况下降低图片存储空间?K-Means算法进行图片颜色点分类存储
    【人工智能实验】遗传算法求解旅行商问题 golang
    基于javaweb的家庭理财系统(java+ssm+jsp+tomcat8+mysql)
    chromium源码的下载与编译
    Java集合Map接口详解——含源码分析
    golang的垃圾回收算法之九写屏障
    数据仓库之BI
  • 原文地址:https://blog.csdn.net/woshizuopie/article/details/126045529
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号