1.Cpp中基本的输入输出

  • C++标准库提供了一组丰富的输入/输出功能,将在后续的章节进行介绍。本章将讨论C++编程中最基本和最常见的I/O操作。C++的I/O发生在流中,流是字节序列。如果字节流是从设备(如键盘、磁盘驱动器、网络连接等)流向内存,这叫做输入操作。如果字节流是从内存流向设备(如显示屏、打印机、磁盘驱动器、网络连接等),这叫做输出操作

2.I/O库文件介绍

2.1 标准输出流cout

  • 预定义的对象cout是iostream类的一个实例。cout对象"连接"到标准输出设备,通常是显示屏。cout是与流插入运算符<<结合使用的,如下所示:

        // 标准输出coutchar str[] = {"Hello C++"};cout << "Value of str is: " << str << endl;
    
  • C++编译器根据要输出变量的数据类型,选择合适的流插入运算符来显示值。<<运算符被重载来输出内置类型(整型、浮点型、double型、字符串和指针)的数据项。流插入运算符<<在一个语句中可以多次使用,如上面实例中所示,endl用于在行末添加一个换行符。

2.2 标准输入流cin

  • 预定义的对象cin是iostream类的一个实例。cin对象附属到标准输入设备,通常是键盘。cin是与流提取运算符>>结合使用的,如下所示:

        // 标准输入cincout << "请输入你的名字: ";char name[50];cin >> name;cout << "你的名字是: " << name << endl;
    
  • C++编译器根据要输入值的数据类型,选择合适的流提取运算符来提取值,并把它存储在给定的变量中。流提取运算符>>在一个语句中可以多次使用,如果要求输入多个数据,可以使用如下语句:
        cin >> name >> age;   等价于cin >> name ; cin >> name;
    

2.3 标准错误流cerr

  • 预定义的对象cerr是iostream类的一个实例。cerr对象附属到标准错误设备,通常也是显示屏,但是 cerr对象是非缓冲的,且每个流插入到cerr都会立即输出。cerr也是与流插入运算符<<结合使用的,如下所示:

        // 标准错误cerrchar error[] = "出现错误啦...";cerr << error << endl;
    

2.4 标准日志流clog

  • 预定义的对象clog是iostream类的一个实例。clog对象附属到标准错误设备,通常也是显示屏,但是 clog 对象是缓冲的。这意味着每个流插入到clog都会先存储在缓冲在,直到缓冲填满或者缓冲区刷新时才会输出。clog也是与流插入运算符<<结合使用的,如下所示:

        // 标准日志流clogchar logs[] = "记录日志...";clog << logs << endl;
    

3.输入输出流中的函数(模板)

```cout << setiosflags(ios::left|ios::showpoint);  // 设置做对齐,一一般的实数方式显示cout.precision(5);  // 设置除小数点外有5位有效数字cout << 124.456789 << endl;cout.width(10);  // 设置显示域宽10cout.fill('*');  // 在显示区域空白处用*填充cout << resetiosflags(ios::left);  // 清楚状态左对齐cout << setiosflags(ios::right);  // 设置右对齐cout << 123.456789 << endl;cout << setiosflags(ios::left|ios::fixed);  // 设置左对齐,以固定小数位显示cout.precision(3);  // 设置实数显示3位小数cout << 999.123456 << endl;cout << resetiosflags(ios::left|ios::fixed);  // 清楚左对齐和定点格式cout << setiosflags(ios::left|ios::scientific);  // 设置左对齐,以科学技术法显示cout.precision(3);  // 设置保留3位小数cout << 123.456789 << endl;
```
  • 其中cout.setf跟setiosflags一样,cout.precision跟setprecision一样,cout.unsetf跟 resetiosflags一样。
    setiosflags(ios::fixed)      固定的浮点显示 setiosflags(ios::scientific) 指数表示 setiosflags(ios::left)       左对齐 setiosflags(ios::right)      右对齐 setiosflags(ios::skipws)      忽略前导空白 setiosflags(ios::uppercase)   16进制数大写输出 setiosflags(ios::lowercase)    16进制小写输出 setiosflags(ios::showpoint)    强制显示小数点 setiosflags(ios::showpos)      强制显示符号




C++中基本的输入输出相关推荐

  1. c++怎么输入带有空格的字符串_CCF CSP-J/S中常用的输入输出 总结(三)

    实验环境: DEV-C++ 5.11 六.关于文件的输入输出 七.关于string类型变量的赋值和连接操作 八.关于string类型的主要函数和运算 六.关于文件的输入输出 需要使用头文件#inclu ...

  2. python输出变量代码_Python中变量的输入输出实例代码详解

    1.变量的输入: input函数: input() input("请输入银行卡密码") password = input("请输入银行卡密码") 变量名 = i ...

  3. c语言怎么清空标准输入缓冲区,C语言中如何清空输入输出缓冲区

    C语言中如何清空输入输出缓冲区 答案:5  信息版本:手机版 解决时间 2019-10-06 09:40 已解决 2019-10-05 13:54 C语言中如何清空输入输出缓冲区 最佳答案 2019- ...

  4. Golang中的格式化输入输出

    Golang中的格式化输入输出 打印输出 在Go语言中有多种输出方式,不同的输出适用场景不同.归纳起来有三种,每种还分为3种方式(原内容.原内容+ln.原内容+f) PrintXX() FprintX ...

  5. Java中的文件输入输出操作如何实现

    Java是一门广泛应用的编程语言,它被用于开发各种类型的应用程序,包括桌面应用.服务器端应用和移动应用.在Java中,文件输入输出操作是很常见的,因为它们可以用于读取和写入文件数据.在本文中,我们将探 ...

  6. MFC中使用控制台窗口输入输出

    现在Windows编程一般都使用窗口程序设计,即GUI模式.但有时我们需要输出一些信息用于调试或查看某些状态,以前我都是在窗口上加一个Edit控件,然后把需要的信息输出到Edit控件里,但这样严重影响 ...

  7. lstm 输入数据维度_理解Pytorch中LSTM的输入输出参数含义

    本文不会介绍LSTM的原理,具体可看如下两篇文章 Understanding LSTM Networks DeepLearning.ai学习笔记(五)序列模型 -- week1 循环序列模型 1.举个 ...

  8. 重定向程序中的系统输入输出

    当一个应用程序写好后,为了调试或其它需要我们往往需要重新定向程序的输入输出,如:将程序的调试信息从控制台记入文件已备分析等.在不改变已有程序的情况下,无论是Windows应用程序还是Java应用程序, ...

  9. C中文件的输入输出与C++的文件流

    C中文件输入输出 文件的缓冲区: 每一个被使用的文件都在内存中用一个FILE结构体来存储相应的文件信息(如文件的名字.文件的状态.文件当前位置等).FILE的定义在stdio.h中 typedef s ...

最新文章

  1. jCryptoJS 、C#互通加密(MD5版)
  2. reactjs组件实例的三大属性之state属性使用示例
  3. 王爽《汇编语言(第三版)》检测点11.1
  4. Linux下安装配置JDK
  5. 用pythone画棵圣诞树,祝大家圣诞快乐
  6. JavaScript 获取 当前日期和三十天以前日期
  7. 在silverlight中,创建webservice的client报错
  8. java applet介绍,Java Applet教程介绍
  9. 有关js获取屏幕宽度问题
  10. mac 磁盘分区 diskutil命令
  11. Kaggle比赛——预测未来销售(三)
  12. 知识点总结之学习方式
  13. igraph与netwrokx的转换
  14. XAMARIN.ANDROID的安装
  15. 任天堂 Wii 模拟器 Dolphin 已原生支持苹果 M1 Mac 电脑
  16. nodejs控制台打印图案
  17. “专精特新”背后的京东动力
  18. 微信H5网页分享只显示链接处理办法
  19. 用python做归结演绎推理_Python中惯用的一些操作总结(未完待续)
  20. 大众点评网的网站架构

热门文章

  1. zabbix 源码编译安装
  2. 面试大法——算法、Python、机器学习等笔试面经资源 | 干货收藏
  3. JAVA语言基础-面向对象(集合框架02List、泛型)
  4. 《数据分析变革:大数据时代精准决策之道》一导读
  5. 29个你必须知道的Linux命令
  6. 程序员Web面试之前端框架等知识
  7. Dispatch_queue
  8. 如何禁止IIS缓存静态文件(png,js,html等)
  9. DNS Serv管理与维护
  10. 双系统启动boot.ini文件的秘密