c++ primer 学习笔记(3): IO
2016-05-18 14:56
337 查看
8.1 IO类
1.IO对象不能拷贝或赋值<code class="hljs php has-numbering">ofstream out1,out2; out1=out2;<span class="hljs-comment">//错误:不能对流对象赋值</span> ofstream <span class="hljs-keyword">print</span>(ofstream);<span class="hljs-comment">//错误</span> out2=<span class="hljs-keyword">print</span>(out2);<span class="hljs-comment">//错误</span></code>
因此通常以引用方式传递和返回流。读写一个对象通常会改变其状态,所以不能是const reference。
2.文件的输入输出
<code class="hljs cpp has-numbering"><span class="hljs-preprocessor">#include <iostream></span> <span class="hljs-preprocessor">#include <fstream></span> <span class="hljs-preprocessor">#include <string></span> <span class="hljs-preprocessor">#include <vector></span> <span class="hljs-preprocessor">#include<algorithm></span> <span class="hljs-keyword">using</span> <span class="hljs-keyword">namespace</span> <span class="hljs-built_in">std</span>; ifstream& read(ifstream& in) { <span class="hljs-built_in">string</span> str; <span class="hljs-stl_container"><span class="hljs-built_in">vector</span><<span class="hljs-built_in">string</span>></span> vstr; <span class="hljs-keyword">while</span> (getline(in,str),!in.eof()) { vstr.push_back(str); } for_each(vstr.cbegin(),vstr.cend(), [](<span class="hljs-keyword">const</span> <span class="hljs-built_in">string</span>& str){<span class="hljs-built_in">cout</span><<str<<endl;}); <span class="hljs-keyword">return</span> in; } <span class="hljs-keyword">int</span> main() { ifstream in(<span class="hljs-string">"test.txt"</span>); read(in); getchar(); <span class="hljs-keyword">return</span> <span class="hljs-number">0</span>; }</code>
相关文章推荐
- C++内存管理
- c语言链表和指针的运用
- C++ stringstream的用法
- 详解C++中StringBuilder类的实现及其性能优化
- C++ 生成写入字符
- 指针动态,分布与列表
- 用c++写一个 “hello,world” 的 FastCGI程序
- 彭界博-个人公寓管理系统
- C++ new/delete运算符
- C++ STL中哈希表 hash_map介绍
- ubuntu安装c/c++开发环境
- C++ num++书写位置影响其值的输出问题
- c++中 static修饰修饰类声明部分
- c++多项式计算器
- [C++ && Python]简单模拟代码评测系统
- 150809234 赵帅 (宿舍管理系统)2
- C/C++中的switch使用
- C++ 设置基类的析构函数为虚函数
- 关于C语言的指针、链表的原理和各类操作
- C++ 相关知识总结