c++ primer复习(三)
1 istream、ostream类型,cin、cout、cerr是istream或ostream类型的具体的对象,<<和>>是操纵符
getline函数的参数是istream和string类型的两个引用形参
面向对象的标准库,3个头文件:iostream,fstream、sstream
对应的类型:istream,ostream,iostream;ifstream,ofstream,fstream;istringstream,ostringstream,stringstream
2 标准库类型不能复制或赋值
流对象不能存储在vector或其他容器中;形参或返回值不能使流对象,必须传递或返回流对象的指针或引用
3 流状态
标准IO库类型定义的类型:
strm::iostat 标准IO库类型内定义的类型,用于定义流状态
数据成员:
strm::badbit strm::iostat类型的值,用于指出被破坏的流
strm::failbit strm::iostat类型的值,用于指出失败的IO操作
strm::eofbit strm::iostat类型的值,用于指出流已经到达文件结束符
成员函数:
s.eof():是否设置eofbit
s.fail():是否设置failbit
s.bad():是否设置badbit
s.good():流是否有效
s.clear():清除流的所有状态值
s.clear(flag):
s.setstat(flag):
s.rdstat():
4 刷新缓冲区操纵符:endl(换行刷新),flush(刷新,不添加任何内容),ends(刷新,添加一个空字符),unitbuf/nounitbuf(每次执行完写操作都刷新)
5 tie函数
用于将输出流(实参)绑定到输入或输出流(调用对象)上,调用对象上的读写操作将刷新实参关联的缓冲区
tie(ostream &):绑定到输出流
ostream *tie():查询绑定的输出流
tie(0):解除绑定
6 文件IO:
ifstream infile(filepath,/*mode*/)
ofstream outfile(filepath,/*mode*/)mode可以为in,out,ate,app,trunc,binary
infile.open(filepath)如果文件流已经与某个文件绑定,则需要先close再open,注意close并不能改变流状态,clear才可以
outfile.open(filepath)
注意的是,IO标准库使用C风格字符串,可以调用string的c_str()成员将string对象转换为C风格字符串
c++ primer复习(三)的更多相关文章
- C#复习三(Day 22)
哈哈,又到了总结的时间了.今天还是在继续复习C#的基础语法.这次总结主要以一下小程序为主. Split()的运用 123-456---789-----123-2把类似的字符串中重复符号去掉,得到123 ...
- 如何学习C++? C++ Primer第三版中文版
C++只是一门工具,要在实际项目中才能感受到它的伟大.是慢慢积累的(任何知识都是,冰冻三尺非一日之寒),它的思想是慢慢领悟的. 知道它的语法不代表你会用,你会用不代表你就会建造起高水平的作品,这是一个 ...
- C++Primer 第三章
//1.位于头文件中的代码一般不应该使用using声明.这是因为头文件的内容会拷贝到所有引用它的文件中,可能会产生始料未及的命名空间冲突. // 三种使用命名空间中的名字的方法 using names ...
- C++ Primer 第三章 标准库类型vector+迭代器iterator 运算
1.vector: 标准库类型vector表示对象的集合,其中所有对象的类型都相同,集合中的每个对象都有一个与之对应的索引,索引用于访问对象.因为vector“容纳着”其他对象,所以它也常被称作容器( ...
- c++ primer复习(五):类
一:基本内容 1 类 数据成员:用于存储与类对象相关联的状态 成员函数:对数据成员进行操作 类将接口与实现分离,接口指定了类支持的操作,操作的具体实现细节是类的设计者才需要了解 2 类成员 类成员可以 ...
- C++primer第三章标准库类型
除第二章介绍的基本数据类型外,C++ 还定义了一个内容丰富的抽象数据类型标准库. 本章将介绍标准库中的 vector.string 和 bitset 类型. string 类型支持长度可变的字符串 v ...
- SQL复习三(子查询)
子查询 子查询就是嵌套查询,即select中包含这select,如果一条语句中存在着两个,或者两个以上的select,那么就是子查询语句了. 子查询出现的位置 where后,作为条件的一部分: fro ...
- Linux 复习三
第三章Linux使用进阶 一.磁盘管理和文件系统 1.磁盘的基本概念:磁头(head).柱面(cylinder).扇区(sector) Linux系统中所有的设备被抽象成文件,存储在/dev目录下 设 ...
- C# 基础复习 三 XML操作
XML 可扩展标记语言(所有标签都是自己定义,没有固定格式) 如果要给XML规定格式,可以使用dtd (dtd是什么?你不会自己百度吗) XML主要用来存储数据 XML的要求: 根节点只能有一 ...
随机推荐
- vim 设置 swap file, 防止 同一个文件同时被多次打开,而且有恢复的功效
在.vimrc里加入: set swapfile 即可以使能swap file, swapfile的名字一般是 .filename.swp (如 .doc.txt.sw ...
- MSSQL 多个表关联更新
正确写法2):UPDATE A SET A.mobilephone = b.mobile FROM tb_contact A,tmp_contact b WHERE A.contact_name = ...
- 图的强连通&双连通
http://www.cnblogs.com/wenruo/p/4989425.html 强连通 强连通是指一个有向图中任意两点v1.v2间存在v1到v2的路径及v2到v1的路径. dfs遍历一个图, ...
- Yii Listview 更新及搜索
更新: http://my.oschina.net/shixiaobao17145/blog/130992 http://www.yiiframework.com/forum/index.php/to ...
- 如何在Windows中打开多个Windows Media Player
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何在Windows中打开多个Windows Media Player.
- CentOS忘记root密码的解决方法
1.在开机启动的时候按键盘上的“E”键 或者“ESC”键,会进入如下界面. 2. 选择相应的内核,一般都是第二个选项,再次按“E”,出现下图,选择第二项,再次按“E”键 3. 经过第二步,这个画面可以 ...
- hdu4486 Pen Counts(水题)
Pen Counts Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 为 vsftpd 启动 vsftpd:500 OOPS: bad bool value in config file for: pasv_enable
每行的值都不要有空格,否则启动时会出现错误,举个例子,假如我在listen=YES后多了个空格,那我启动时就出现.. 为 vsftpd 启动 vsftpd:500 OOPS: bad bool val ...
- Mysql性能优化之缓存参数优化
数据库属于 IO 密集型的应用程序,其主要职责就是数据的管理及存储工作.而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级.所以,要优化 ...
- [Javascript] bukld 'SQL' like object tree
Let's try creating a deeper tree structure. This time we have 4 separate arrays each containing list ...