前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++标准I/O库

C++标准I/O库

作者头像
用户7886150
修改2021-02-25 10:24:01
7140
修改2021-02-25 10:24:01
举报
文章被收录于专栏:bit哲学院

参考链接: C++ Wcerr

C++的输入/输出由标准库提供,标准库定义了一族类型,支持对文件和控制窗口等设备的读写,还定义了其他一些类型,使string对象能够像文件一样操作,从而使我们无需自己写代码就能实现数据与字符之间的转换。基本I/O类型在三个独立的头文件中定义:iostream定义读写控制窗口的类型,fstream定义读写文件的类型,sstream定义读写存储在内存中的string对象的类型,它们使用的命名空间为std。fstream和sstream里定义的每种类型都是从iostream头文件中定义的相关类型派生而来。它们的作用及派生关系如下图所示: 

IO标准库类型和头文件头文件类型iostreamistream从流中读取ostream写到流中去iostream对流进行读写,由istream和ostream派生fstreamifstream从文件中读取,由istream派生ofstream写到文件中去,由ostream派生fstream对文件进行读写,由iostream派生sstreamistringstream从string对象中读取,由istream派生ostringstream写到string对象中去,由ostream派生stringstream对string对象进行读写,由iostream派生

IO标准库类型和头文件 

IO标准库类型和头文件

    由于标准I/O类型均派生于istream或ostream类型,所以了解这两个类的用法基本上便可以举一反三了解所有类型的使用规律。所以大家如果想掌握它们的用法,可以从这两个类入手好好研究一下。另外,在使用标准I/O库的时候还有两点需要注意:

    1、对国际字符的支持

    为了支持宽字符数据的读写,标准库还定义了一组相关的I/O类型,以支持wchar_t类型。控制窗口读写的相应类型是wostream、wistream、wiostream,它们在iostream头文件中定义;控制文件读写的相应类型是wofsteam、wifstream、wfstream,它们在fstream头文件中定义;控制string对象读写的相应类型是wistringsteam、wostringstream、wstringstream,它们在sstream头文件中定义。注意到,这些类型都加上了“w”前缀,所以可以推知标准输入对象也变为了wcin,标准输出对象为wcout,而标准错误对象则是wcerr。

    2、I/O对象不可进行复制或赋值

    这便意味着,标准I/O类型不能放在vector或者其他容器当中,因为只有支持复制的元素类型可以存储在vector或其他容器类型里;函数形参或返回类型也不能单纯是流类型,而只能是流对象的引用类型。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档