/*ca72a_c++_标准IO库:面向对象的标准库
继承:基类-》派生类
3个头文件
9个标准库类型
IO对象不可复制或赋值

ofstream, f--file,文件输出流
ostringstream,o--输出,string字符串输出流
iostream--输入输出流

istringstream,i-输入,string字符串输入流
ifstream,i--输入,f--file,文件输入流

stringstream--字符串输入输出流, <sstream> ////字符串输入输出流头文件
fstream--文件输入输出流

*/

 /*ca72a_c++_标准IO库:面向对象的标准库
继承:基类-》派生类
3个头文件
9个标准库类型
IO对象不可复制或赋值 ofstream, f--file,文件输出流
ostringstream,o--输出,string字符串输出流
iostream--输入输出流 istringstream,i-输入,string字符串输入流
ifstream,i--输入,f--file,文件输入流 stringstream--字符串输入输出流, <sstream> ////字符串输入输出流头文件
fstream--文件输入输出流 */ #include <iostream>
#include <fstream>
#include <sstream> ////字符串输入输出流头文件 using namespace std;
//void print(std::ofstream of)
//{
// cout << "test!" << endl;
//}
void print(std::ofstream &of)//传递引用
{
cout << "ofstream test" << endl;
}
ofstream& print1(std::ofstream &of)//传递引用
{
cout << "ofstream test" << endl;
std::ofstream of2;
return of2;//返回引用是可以的, ofstream&
} void foo(ostream& os)
{
cout << "test ostream" << endl;
//os << "test ostream" << endl;
} int main()
{
//cout是ostream输出流对象
//cout都是在std名称空间里面。std::cout,std::endl;,std::cin
cout << "hello world!" << endl;
fstream fs;//文件输入输出流
//或者。std::fstream std::stringstream ss;//字符串输入输出流 std::ofstream out1, out2;
//out1=out2;//错误。IO对象不可复制或赋值
//print(out1);//错误。IO对象不可复制或赋值,可以传参数与引用
print(out1);//可以传参数与引用 //vector<ofstream> vec;//不能用容器 foo(cout);//传递cout,cout是ostream cout << "ofstream test!!!" << endl;
std::ofstream ofs;
foo(ofs);// foo(ostream& os) osstream是基类,所以也可以接受它的派生类,ofstream ostringstream oss;
foo(oss);// foo(ostream& os) osstream是基类,所以也可以接受它的派生类,ostringstream
return ;
}

ca72a_c++_标准IO库:面向对象的标准库的更多相关文章

  1. 标准IO

    标准IO由ISO C 标准的IO库,它处理了很多底层细节,比如合适的缓冲大小等等,因此更易于使用,但是也引入了一些其他问题. 流向 标准IO使用FILE对象关联流,流可以是面向宽字节的也可以是面向单字 ...

  2. 系统调用IO和标准IO

    目录 1. 系统调用IO(无缓冲IO) 系统调用 常用系统调用IO函数 open close read write lseek ioctl 2. 标准IO(带缓冲IO) 概述 缓冲与冲洗 常用标准IO ...

  3. ca75a_c++_标准IO库-利用流对象把文件内容读取到向量-操作文件

    /*ca75a_c++_标准IO库习题练习习题8.3,8.4,8.6习题8.9.8.10 ifstream inFile(fileName.c_str());1>d:\users\txwtech ...

  4. 第3章 文件I/O(8)_贯穿案例:构建标准IO函数库

    9. 贯穿案例:构建标准IO函数库 //mstdio.h #ifndef __MSTDIO_H__ #define __MSTDIO_H__ #include <unistd.h> #de ...

  5. C++ Primer 读书笔记: 第8章 标准IO库

    第8章 标准IO库 8.1 面向对象的标准库 1. IO类型在三个独立的头文件中定义:iostream定义读写控制窗口的类型,fstream定义读写已命名文件的类型,而sstream所定义的类型则用于 ...

  6. [APUE]标准IO库(下)

    一.标准IO的效率 对比以下四个程序的用户CPU.系统CPU与时钟时间对比 程序1:系统IO 程序2:标准IO getc版本 程序3:标准IO fgets版本 结果: [注:该表截取自APUE,上表中 ...

  7. [APUE]标准IO库(上)

    一.流和FILE对象 系统IO都是针对文件描述符,当打开一个文件时,即返回一个文件描述符,然后用该文件描述符来进行下面的操作,而对于标准IO库,它们的操作则是围绕流(stream)进行的. 当打开一个 ...

  8. 【linux草鞋应用编程系列】_1_ 开篇_系统调用IO接口与标准IO接口

    最近学习linux系统下的应用编程,参考书籍是那本称为神书的<Unix环境高级编程>,个人感觉神书不是写给草鞋看的,而是 写给大神看的,如果没有一定的基础那么看这本书可能会感到有些头重脚轻 ...

  9. 文件IO函数和标准IO库的区别

    摘自 http://blog.chinaunix.net/uid-26565142-id-3051729.html 1,文件IO函数,在Unix中,有如下5个:open,read,write,lsee ...

随机推荐

  1. linux克隆之后网络设置

    1.修改网络 vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改:ip地址 IPADDR=192.168.77.83GATEWAY=192.168.77.2 ...

  2. 深入了解机器学习决策树模型——C4.5算法

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第22篇文章,我们继续决策树的话题. 上一篇文章当中介绍了一种最简单构造决策树的方法--ID3算法,也就是每次选择一个特 ...

  3. 使用PRTG和panabit结合定位网络阻塞的来源

    一.背景   在网络管理工作中,有时会出现网络阻塞,需要定位阻塞来源以采取措施解决问题.二.以一个网络阻塞案例说明定位方法   案例:某企业日常使用多条网络线路,某一段时间发现某条线路传输速率下降,对 ...

  4. Rocket - regmapper - RegField

    https://mp.weixin.qq.com/s/7WKB1QxcVzqm2Q7bWcKHzA 简单介绍RegField的实现. 1. 简单介绍 定义寄存器域相关的参数类型. 2. RegFiel ...

  5. Rocket - diplomacy - IdRange

    https://mp.weixin.qq.com/s/qqL2XWqAhVcnGSxs6kxhLg   介绍IdRange的实现.   ​​   1. 基本定义   A non-empty half- ...

  6. Spring-boot01

    本文记录Spring-Boot学习途中的点点滴滴. 其实Spring-Boot出来好长时间了,但是一直没去关注过.之前在我的印象里Spring-Boot好就好在减去了很多XML配置,加入了很多自动配置 ...

  7. Spring Boot笔记(六) springboot 集成 timer 定时任务

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.创建具体要执行的任务类: package com.example.poiutis.timer; im ...

  8. Java实现 LeetCode 451 根据字符出现频率排序

    451. 根据字符出现频率排序 给定一个字符串,请将字符串里的字符按照出现的频率降序排列. 示例 1: 输入: "tree" 输出: "eert" 解释: 'e ...

  9. Java实现 LeetCode 421 数组中两个数的最大异或值

    421. 数组中两个数的最大异或值 给定一个非空数组,数组中元素为 a0, a1, a2, - , an-1,其中 0 ≤ ai < 231 . 找到 ai 和aj 最大的异或 (XOR) 运算 ...

  10. Java实现 LeetCode 116 填充每个节点的下一个右侧节点指针

    116. 填充每个节点的下一个右侧节点指针 给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点.二叉树定义如下: struct Node { int val; Node *left ...