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的要求: 根节点只能有一 ...
随机推荐
- HW3.27
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- linux定时运行命令脚本——crontab
cron和crontab定时任务: http://blog.csdn.net/ithomer/article/details/6817019 http://blog.sina.com.cn/s/blo ...
- iOS从生成证书到打包上架-01(详细2016-10最新)
今天项目上架成功,在此小结一下这个过程,希望对这个流程有疑惑的小伙伴少走弯路(大神请忽略此文) 关于证书是什么,请自行百度,Google,这里直接上流程. 1.首先打开苹果开发者网站,Apple De ...
- 【C语言】编写一个函数实现n^k,使用递归实现
#include <stdio.h> int fuc(int x,int n) { if(n!=1) return x*fuc(x,n-1); return 1; } int main() ...
- [TypeScript] 1. Catching JavaScript Mistakes with TypeScript
The TypeScript compiler is a powerful tool which catches mistakes even in vanilla JavaScript. Try it ...
- careercup-递归和动态规划 9.4
9.4 编写一个方法,返回某集合的所有子集. 类似leetcode:Subsets 解法: 解决这个问题之前,我们先要对时间和空间复杂度有个合理的评估.一个集合会有多少子集?我们可以这么计算,生成了一 ...
- linux cat 命令详解--转
使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName 说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案) 参数: ...
- 打造强大的BaseModel(2):让Model实现自动映射,将字典转化成Model
打造强大的BaseModel(1):让Model自我描述 这篇文章将讲述Model一项更高级也最常用的功能,让Model实现自动映射–将字典转化成Model(所有代码全由Swift实现) 将JSON转 ...
- 从源码角度深入理解Toast
Toast这个东西我们在开发中经常用到,使用也很简单,一行代码就能搞定: 1: Toast.makeText(", Toast.LENGTH_LONG).show(); 但是我们经常会遇到这 ...
- Const和readonly这间的区别和相同处
相同: const和readonly都是用来修饰常量的 不同: const 在申明之前就要对它初始化,readonly修饰的常量则可以到构造函数中初始化 const注重的是效率但是readonly注 ...