IO流
来源:互联网 发布:手机linux模拟器 编辑:程序博客网 时间:2024/05/17 07:03
流实际上是一个字节序列(字节流),C++的输入输出是以字节流的形式出现的;
istream 输入流(键盘输入), 从输入流中获取数据。 cin是istream的对象;
ostream 输出流(键盘输出到屏幕) cout是ostream的对象;
ifstream 输入流 向内存中写数据
ofstream 向文件中写数据 输出到文件
fstream 文件输入输出流
linux所有的东西都是文件 包括显卡
traits隔离因类型的不同
缓冲区 类似于字符数组, 是内存的一块缓冲区;
IO代价是比较高的,尽量减少他的代价的次数
cerr是没有缓冲
缓冲区刷新 是 就是给缓冲区清空掉;强制输出;
UTF8就是个单字节字符集编码;
一个汉字对应的是三个字节
微软下输出字符; 一个汉字固定对应的是两个字节
第三层是做格式化和非格式化的IO操作;
<<是函数做啦重载 称为格式化输出;
格式化输出就是以占几个字节输出;
给类做一个友元;
cout<<e1<<'\n'; 翻译成下面的;
opeator<<(cout,e1);
做成friend 是因为需要访问他的私有成员;
只要不涉及到修改 ,就定义成const
因为我们的const和非函数都是可以用的
endl是清空缓冲 加换行;
hex是十六进制;
流的操控符
cin>>hex>>n; //格式化输入,
默认的话是会跳过前导空格字符;
流的状态
eof 是文件最后有一个结束符;
当eof 碰到文件末尾,也会检查 状态自动变成fail
输入和输出操作;
格式化或者非格式化输出输入
第二层是管理流状态的;
以状态为依据;
cin.get(buf,sizeof buf,';');
不丢弃是左
string s;
cin>>s;
cin.get() 是默认是以换行符为结尾的;
cin.ignore(3,',');
输入文件
放回到输入缓冲区;
string s;
getline(cin ,s);//
ios_base 是流的格式化输出
里面存放的是流的格式化状态;
里面存放的是前置操作;
他只会影响;
操控符;
常用的格式设置;
精度为3就是小数点后面为三位;
显示基数;
数据有符号的话进行内部填充;
width 宽度的操作只能影响后面的一次;
操控符;是如何适应格式化输入输出的;
第一层次 是设置流的格式化样式
第二层次 是检查流的状态 看这个流是好的还是坏的;
第三层次 做格式化和非格式化的IO操作;
setw(12),setfill() 这shi
函数指针作为参数,就是作为回调用的;
cout.operator<<(hex);
左操作符;
有参数的操控符
无参数的操控符 左操作符重载函数() hex作为一个函数指针传进左操作符重载函数()中当参数,然后这个函数指针调用cout.set()相关的函数;
有参数的操控符 首先的有参数的本身是个函数,这个函数创建并返回一个setw 类型; 然后通过另外一个左操作符重载函数()来进行调用cout.set() 函数;
char c;
while(fin.get(c))
fout.put(c); 文件拷贝
fout<<fin.rdbuf();
一个流同一时间只能给一个文件用;
从卡
fout<<
istream 输入流(键盘输入), 从输入流中获取数据。 cin是istream的对象;
ostream 输出流(键盘输出到屏幕) cout是ostream的对象;
ifstream 输入流 向内存中写数据
ofstream 向文件中写数据 输出到文件
fstream 文件输入输出流
linux所有的东西都是文件 包括显卡
traits隔离因类型的不同
缓冲区 类似于字符数组, 是内存的一块缓冲区;
IO代价是比较高的,尽量减少他的代价的次数
cerr是没有缓冲
缓冲区刷新 是 就是给缓冲区清空掉;强制输出;
UTF8就是个单字节字符集编码;
一个汉字对应的是三个字节
微软下输出字符; 一个汉字固定对应的是两个字节
第三层是做格式化和非格式化的IO操作;
<<是函数做啦重载 称为格式化输出;
格式化输出就是以占几个字节输出;
给类做一个友元;
cout<<e1<<'\n'; 翻译成下面的;
opeator<<(cout,e1);
做成friend 是因为需要访问他的私有成员;
只要不涉及到修改 ,就定义成const
因为我们的const和非函数都是可以用的
endl是清空缓冲 加换行;
hex是十六进制;
流的操控符
cin>>hex>>n; //格式化输入,
默认的话是会跳过前导空格字符;
流的状态
eof 是文件最后有一个结束符;
当eof 碰到文件末尾,也会检查 状态自动变成fail
输入和输出操作;
格式化或者非格式化输出输入
第二层是管理流状态的;
以状态为依据;
cin.get(buf,sizeof buf,';');
不丢弃是左
string s;
cin>>s;
cin.get() 是默认是以换行符为结尾的;
cin.ignore(3,',');
输入文件
放回到输入缓冲区;
string s;
getline(cin ,s);//
ios_base 是流的格式化输出
里面存放的是流的格式化状态;
里面存放的是前置操作;
他只会影响;
操控符;
常用的格式设置;
精度为3就是小数点后面为三位;
显示基数;
数据有符号的话进行内部填充;
width 宽度的操作只能影响后面的一次;
操控符;是如何适应格式化输入输出的;
第一层次 是设置流的格式化样式
第二层次 是检查流的状态 看这个流是好的还是坏的;
第三层次 做格式化和非格式化的IO操作;
setw(12),setfill() 这shi
函数指针作为参数,就是作为回调用的;
cout.operator<<(hex);
左操作符;
有参数的操控符
无参数的操控符 左操作符重载函数() hex作为一个函数指针传进左操作符重载函数()中当参数,然后这个函数指针调用cout.set()相关的函数;
有参数的操控符 首先的有参数的本身是个函数,这个函数创建并返回一个setw 类型; 然后通过另外一个左操作符重载函数()来进行调用cout.set() 函数;
char c;
while(fin.get(c))
fout.put(c); 文件拷贝
fout<<fin.rdbuf();
一个流同一时间只能给一个文件用;
从卡
fout<<
0 0
- 【IO流】IO框架
- IO流呀IO流
- 字符IO&数据流IO&对象流IO
- io流
- io流
- IO流
- IO流
- IO 流
- IO流
- io流
- IO流
- io流
- IO流
- IO流
- IO流
- IO流
- IO流
- IO流
- OpenGL ES 纹理映射问答中的领悟
- java的上传问题!
- rpm包依赖问题解决,几个包相互依赖
- g++库的生成
- 韩国PAYWAVE认证之韩城攻略
- IO流
- 程序运行的时候出错,提示esp值出错,是什么问题
- 笔记5
- Linux的用户和用户组管理
- C++中的常见术语
- 快速理解Kafka分布式消息队列框架
- java note
- TI DSP DMA
- How to compile FFmpeg for Raspberry Pi (Raspbian)