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风格字符串
最新文章
- linux mint17.2 安装fcitx输入法
- C#返回时间格式转换成 js 字符串
- 【CQgame】[下一百层] [Down]
- NOIp 2012 #2 借教室 Label:区间修改线段树
- 【故障处理】CRS-1153错误处理
- 【kAriOJ】离散数学春季学期编程测试 1
- 动软代码生成与 EntityFramework 实体生成模板
- 观察者模式(Observer Patterns)
- 精简CSS
- linux makefile 编译多个.c文件 实例
- Jetson TX2刷机教程(原创)
- icpc 南昌邀请赛网络赛 Subsequence
- mycat 单库多表实现水平分片
- CentOS 使用yum命令安装出现错误提示”could not retrieve mirrorlist http://mirrorlist.centos.org ***”
- PAT A1124 Raffle for Weibo Followers (20 分)——数学题
- 继承映射中的java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: person is not mapped [FROM person]
- PHP 解压 ZIP 文件到指定文件夹
- ALGO-43_蓝桥杯_算法训练_A+B Problem
- A &#183; F &#183; O —— JLOI2018翻车记(附Day1简要题解)
- get calllog fail