首页 > 其他分享 >七. 输入和输出

七. 输入和输出

时间:2023-12-04 17:37:54浏览次数:14  
标签:输出 iostream 字符 文件 流类 输入

文章参考:

《C++面向对象程序设计》✍千处细节、万字总结(建议收藏)_白鳯的博客-CSDN博客

C++支持C的输入、输出结构,同时也建立了一套面向对象的输入、输出结构,且更加安全。其输入/输出通过字节流的形式实现。

1. 输入/输出头文件

  • iostream:包含了对输入/输出流进行操作所需的基本信息。其中包含了istreamostream类,并在其中对移位运算符>><<进行重载,用户可以通过已经头文件中已经创建好的cincout对象进行读写操作。
  • fstream:用于用户管理文件的IO操作。
  • strstream:用于字符串流的IO操作。通过它使用字符串流对象对内存字符串空间进行IO。
  • iomanip:用于控制输入/输出的格式。头文件汇中创建了setwfixed等对象。

2. 输入/输出流类

类名 说明 头文件名
ios 抽象流基类 iostream
通用输入流类和其它输入流类 istream iostream
输入文件流类 ifstream fstream
输入字符串流类 istrstream strstream
通用输出流类和其它输出流类 istream iostream
输出文件流类 ofstream fstream
输出字符串流类 ostrstream strstream
通用输入输出流类和其它输入/输出流类的基类 iostream iostream
输入/输出文件流类 fstream fstream
输入/输出字符串流类 strstream strstream

3. 输入/输出预定义对象

在C++提供的输入/输出流库中,有一些预定的流对象,用于流操作。

EG:

  • 标准输入流对象:cin
  • 标准输出流对象:cout
  • 非缓冲型的标准出错流对象:cerr
  • 缓冲型标准出错流对象:clog

4. 常用的输入/输出流成员函数

在使用istreamostream的对象时,常使用到相关成员函数:

  • put():用于输出

    cout/put(单字符/字符型变量/ASCII码);
    
  • get():用于输入。它可以用来接收空白符,而>>运算符默认无法接收空白符。

    cin.get(字符型变量);
    
  • getline():用于输入,可以使用数组或指针

    cin.getline(字符数组, 字符个数, 终止标志字符);
    cin.getline(字符指针, 字符个数, 终止标志字符);
    
  • ignore():用于输入。作用是跳过输入流中n个字符(默认是1个),在遇到指定的终止符时(默认是EOF)提前结束。

    cin.ignore(n,终止字符);
    

5. 输入/输出格式化

C++中,依旧可以使用printf()scanf()函数对输入/输出进行格式化,并在此基础上提供了两种新的格式控制方式:

  • 使用ios类中有关格式控制的流成员函数进行格式控制。
  • 使用称为操作符的特殊类型的函数进行格式控制。

此处省略常用函数。

6. 文件操作

6.1 操作步骤

对文件继续读写的步骤如下:

  1. 建立流文件。
  2. 打开目标文件,没有就新建一个。
  3. 进行读/写操作。
  4. 关闭流文件。

文件流类:

类名 说明 功能
istream 输入文件流类 用于文件的输入
ofstream 输出文件流类 用于文件的输出
fstream 输入/输出文件流类 用于文件的输入/输出

6.2 打开/关闭流文件

打开文件:有两种方式:

  • 三种文件流类的构造函数都会自动打开文件。

  • 使用成员函数opean()打开文件,函数原型如下:

    void open(char const *,int filemode,int =filebuf::openprot);
    
    • 第一个是要打开的文件迷宫

    • 第二个是文件打开方式,可以取以下值:

      image-20231129111533269

    • 第三个是文件保护方式,一般使用默认值。

关闭文件:使用close()成员函数。

标签:输出,iostream,字符,文件,流类,输入
From: https://www.cnblogs.com/beasts777/p/17875470.html

相关文章

  • [香橙派开发系列]输入模式和上拉下拉
    目录前言一、设置输入模式二、读取端口电平三、配置上拉下拉电平1.上拉输入2.下拉输入3.设置函数最后前言前面说了一下输出模式,这一章说一下输入模式,学完输入模式后我们就可以用一个软件模拟IIC让OLED0.96寸的显示屏显示内容了。一、设置输入模式前面说过设置gpio的模式的函数......
  • 迅为基于iTOP-RK3568开发板主要讲解输入子系统,共计24 讲。
    驱动视频全新升级,并持续更新~更全,思路更科学,入门更简单。迅为基于iTOP-RK3568开发板进行讲解,本次更新内容为第十三期,主要讲解输入子系统,共计24讲。1.总领:本期视频介绍2.什么是输入子系统?3.如何确定输入设备与节点的对应关系?4.实践:确定输入设备对应的设备节点5.输入子系统框架讲解6......
  • unity里也能输出 webgl的项目,怎么看出这个项目是不是unity输出的,还是纯web技术写的项
    在Unity中输出为WebGL项目后,可以通过以下几种方式来判断一个项目是不是由Unity输出的:1.文件结构:Unity输出的WebGL项目通常会生成一些特定的文件和文件夹,例如"Build"文件夹、"index.html"文件等。如果你在项目文件夹中看到这些文件和文件夹,那么很可能是Unity输出的WebGL项目。2.......
  • 实用功能分享,弹窗展示形式的6位卡号输入功能实现【玩转业务功能】
    前言本篇主要分享如何实现一个弹窗展示形式的6位卡号输入功能。6位卡号输入前面是根据卡的不同状态的流程实现,接下来,讲讲卡号输入的交互实现。卡号输入UIUI的呈现,会影响前端的实现方式。这里UI设计成弹出层的方式,每个数字都是一个方框。开发前在开发前,我列了一些可能出现的问题......
  • Linux服务器账号多次输入错误密码后解锁
    pam_tally2模块用于对系统进行失败的ssh登录尝试后锁定用户帐户。此模块保留已尝试访问的计数和过多的失败尝试。 查看用户登录失败的信息pam_tally2-urootLoginFailuresLatestfailureFromroot812/3/23 13:18:19192.168.7.49注:Failures表示登录系统失败的次数......
  • 字节输出流
    字节输出流1.字节输出流名称:FileOutputStream。2.使用格式:先创建对象,然后再写出数据,最后释放数据。importjava.io.FileOutputStream;importjava.io.IOException;publicclasspractice06{publicstaticvoidmain(String[]args)throwsIOException{FileOutp......
  • win11 搜索框无法输入文字
    打开注册表regedit删除文件夹:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{ef87b4cb-f2ce-4785-8658-4ca6c63e38c6}\TopViews\{00000000-0000-0000-0000-000000000000}删除文件夹:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft......
  • input输入时的边框样式去除
    很多程序员在写项目过程中,会遇到input的边框样式去除问题。今天我们就研究一下,有什么办法解决这个问题?一般的,我们会给input设置:input{ border:none; }这种方法,我们去除的是显示样式,但是输入的时候,我们需要点击一下input框,发现还是有一个黑色的初始化边框:这种情况,怎么处理?我们可......
  • vue实现请再次输入密码的表单校验
    1、获取第一次输入的密码的值2、比较两次密码的值是否相等3、如果不一致返回错误信息this.userInfo.password2:获取第一次输入的密码;value当前校验值;validator自定义校验规则;constConfirmPassword=(rule,value,callback)=>{if(value!==this.userInfo.password2){......
  • Java零基础入门-输出
    前言Java是一种面向对象的编程语言,广泛用于开发各种应用程序。入门Java编程需要了解基本的语法规则和常见的编程思路,本文将从输出入手,介绍Java语言的基本语法和使用方法,为初学者提供帮助。摘要本文主要介绍Java语言的输出功能,包括各种输出方法的基本语法和使用方法,以及Java语言......