C++标准io库知识整理
来源:互联网 发布:詹姆斯科比总决赛数据 编辑:程序博客网 时间:2024/06/07 19:43
转载于:http://blog.csdn.net/kluleia/article/details/20625151
今天在写一个文件读写操作得时候,发现知识体现严重混乱,没办法忙写,都是借助百度才搞定的。为此下午决定好好的总结一下c++标准io库的相关知识,用自己平时将ppt的思路来写整理这个文档。
1.标准IO库是什么东西?
C++的输入输出库由标准库(标准库是什么东西就不解释了)提供。标准库定义了一族类型,支持对文件和控制窗口(如我们通常看到的屏幕输出,或者黑窗口吧)等设备的读写。还定义了其他一些类型,使string对象能够像文件一样操作,从而使我们无须IO就能实现数据与字符之间的转换(待会会介绍)。这些IO类型都定义了如何读写内置数据类型的值,相信有不少人会对内置数据类型有些混乱,贴出c++的内置数据类型如下,也就是说标准IO库可以读写以下类型的值,是不是很酷啊,一般来说也可以读写自定义类的对象,那要看自己自定义类是怎么设计的了,反正不管是什么类也都是一大堆的内置类型搭起来的。
类型
大小(字节)
值
bool
1
true 或者false
unsigned short int
2
0~65535
short int
2
-32768~32767
unsigned long int
4
0~4294967395
long int
4
-2147483648~2147483647
int
4
-2147483648~2147483647
unsigned int
4
0~4294967395
char
1
256 个字符
wchar_t
2
256 个字
float
4
10-37~1038
double
8
10-307~10308
long double
16
10-4931~104932
2.在这里先总结一下我们能拿io标准库做什么事情?
- 与用户控制窗口交互(控制窗口)
- 读写已命名的文件 (磁盘文件)
- 使用io操作格式化内存中的数据(内存)
- iostream:定义读写控制窗口的类型
- fstream:定义读写已命名文件的类型。
- sstream:读写内存中string对象
ostream 写到流中去
iostream 对流进行读写;从 istream 和 ostream 派生而来fstreamifstream 从文件中读取;由 istream 派生而来
ofstream 写到文件中去;由 ostream 派生而来
fstream 读写文件;由 iostream 派生而来sstreamistringstream 从 string 对象中读取;由 istream 派生而来
ostringstream 写到 string 对象中去;由 ostream 派生而来
stringstream 对 string 对象进行读写;由 iostream 派生而来粗略的用工具画一下继承关系
io库使用继承有一个主要的用处在于,如果函数有基类类型的引用形参时,可以给函数传递其派生类型的对象。如对istream&进行操作的对象,可以使用ifstream或者istringstream对象来调用。类似的ostream同上
- 由于流对象不能复制,因此不能存储在 vector(或其他)容器中(即不存在存储流对象的 vector 或其他容器)。
- 形参或返回类型也不能为流类型。如果需要传递或返回 IO对象,则必须传递或返回指向该对象的指针或引用:
- C++标准io库知识整理
- C++标准io库知识整理
- 【C++】标准IO库
- C++primer 标准IO库
- C++Primer 标准IO库
- C++_Primer_chapter8 标准IO库
- c标准IO库使用
- 《C++primer》 函数 标准IO库
- IO之标准C库buffer
- c++Primer,八,标准IO库
- C标准库:IO错误处理
- C标准库之文件IO操作
- IO之标准C库buffer
- C语言标准IO
- 标准C语言IO
- 标准C的IO
- 标准C语言 IO
- 标准C知识03
- 七牛传图,减少用户流量压力的手段
- linux 下C语言编程(2)——进程的创建,挂起,解挂,进程间通信
- centos7.3搭建git服务器
- Java模板模式
- Oracle 数据库学习笔记01
- C++标准io库知识整理
- scrapy输出中文字符到文件
- libfuse install error: fusermount.c:295:44: error: ‘CLONE_NEWNS’ undeclared (first use in this funct
- 下拉框实现
- Linux+Jenkins环境搭建以及自动部署django项目
- Secure Spring REST API使用OAuth2
- Linux下redis安装与使用
- jeesite文件结构与jeesite.properties
- iOS开发经验总结(一)