7、IO库
来源:互联网 发布:知乎 性观念 编辑:程序博客网 时间:2024/05/01 10:15
1、IO类:iostream读写流;fstream读写命名文件;sstream读写内存string对象。
C++定义的宽字符类型和函数的名字以w开始。
(1)不能拷贝IO对象,因此不能将形参或返回类型设置为流类型,进行IO操作的函数通常以引用方式传递和返回流。
(2)流可能处于错误状态,因此代码通常应该在使用一个流之前检测它是否处于良好状态。
(3)缓冲机制,操作系统将程序的多个输出操作组合成单一的系统级写操作。(endl,flush,ends会刷新缓冲区)。
2、类型fstream和stringstream都继承自iostream,接受一个iostream类型引用或指针参数的函数,可以用一个fstream或sstream类型对象来调用
文件流
3、为将文件流关联到另一个文件,必须首先关闭已经关联的文件
//定义一个名为in的输入文件流并打开给定文件ifileifstream in(ifile);//先关闭再关联另一个文件in.close();in.open(ifile, + "2");
4、
ifstream关联的文件默认以in模式打开;oftream关联的文件默认以out模式打开;与fstream关联的文件默认以in和out模式打开。默认情况下,打来一个ofstream时会清空文件,为阻止清空要同时指定app模式。
ofstream app("file2", ofstream::app);
string流
5、对整行和行内单词进行处理可以使用istringstream
//PersonInfo类存每个人的名字和可变数量的号码struct PersonInfo{ string name; vector<string> phones;};//line存行,word存单词string line, word;//可变数量的人,每个人对应一个PersonInfovector<PersonInfo> people;//record只是创建的一个istringstream 流的名字while(getline(cin, line)){ PersonInfo info; istringstream record(line); record >> info.name; while(record >> word) info.phones.push_back(word); people.push_back(info);}
6、逐步构造输出,最后一起打印,ostringstream很有用。
for(const auto &i_people : people){ ostringstream ostr; for(const auto &i_phones : entry.i_people ) ostr << " " << format(i_phones ); //os输出缓冲区内容 os << i_people.name << " " << ostr.str() << endl; }
阅读全文
0 0
- 7、IO库
- C++11(7):IO库
- IO库
- IO库
- IO库
- IO库
- IO库
- IO库
- 文件IO与标准IO库
- 7月7 IO
- java笔记7IO
- (7) MPI-IO: MPI_File_seek
- 实验7 IO流
- (7) - IO流 (图)
- 7-23 IO流
- IO标准库类型
- c++标准IO库
- 标准IO库
- EOJ 1076 染气球(树状数组)
- AtCoder Beginner Contest 073
- 导入第三方Jar包
- jvm引用类型内存使用详解
- matlab2c使用c++实现matlab函数系列教程-var函数
- 7、IO库
- Spring MVC DispatcherServlet的初始化
- P3213【USACO 2015 Jan Gold】牧草鉴赏家
- 排序的稳定与不稳定
- MySQL主从复制和读写分离的搭建
- 静态库与动态库的区别以及优缺点,在linux环境下配置静态库与动态库
- 程序猿与艺术的碰撞
- Sending signal. PID: 8561 SIG: 9
- java中NIO和IO的区别