C++中基本的输入输出

技术交流QQ群:1027579432,欢迎你的加入!

1.Cpp中基本的输入输出

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

2.I/O库文件介绍

I_O库头文件.png

2.1 标准输出流cout

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

2.2 标准输入流cin

  • 预定义的对象cin是iostream类的一个实例。cin对象附属到标准输入设备,通常是键盘。cin是与流提取运算符>>结合使用的,如下所示:
        // 标准输入cin
        cout << "请输入你的名字: ";
        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也是与流插入运算符<<结合使用的,如下所示:
        // 标准错误cerr
        char error[] = "出现错误啦...";
        cerr << error << endl;
    

2.4 标准日志流clog

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

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

       cout << setiosflags(ios::left|ios::showpoint);  // 设置做对齐,一一般的实数方式显示
       cout.precision(5);  // 设置除小数点外有5位有效数字
       cout << 124.456789 << endl;
       cout.width(10);  // 设置显示域宽10
       cout.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)      强制显示符号 
cout.setf常用标志.png

iostream中定义的操作符1.png

iostream中定义的操作符2.png

iomanip中的操作符.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容

  • 浅谈C++常用输入输出 在编写C++程序的时候,经常因为输入输出头疼,所以在这里做一个小结,记录一下常用的输入输出...
    MinoyJet阅读 3,748评论 0 6
  • 1. I/O流的概念和流类库的结构 程序的输入指的是从输入文件将数据传送给程序,程序的输出指的是从程序将数据传送给...
    木鱼_cc阅读 591评论 0 0
  • C++ 基本的输入输出 C++ 的 I/O 发生在流中,流是字节序列。如果字节流是从设备(如键盘、磁盘驱动器、网络...
    Jimmy_L_Wang阅读 1,403评论 0 1
  • 第一章 计算机与C++编程简介 C++程序6个阶段编程 ->预处理->编译->连接->装入->执行1.程序在编译器...
    rogertan30阅读 3,791评论 0 1
  • 这几天晚上的咨询中,多个孩子咨询自己太懒的问题,问我怎么办。 当我探究孩子们认为自己懒的原因时,发现无一例外,身边...
    鼎真姐姐阅读 669评论 5 14