/*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. Ajax用法查询

    1)$.get(url, [data], [callback], [type]) 2)$.post(url, [data], [callback], [type]) 其中: url:代表请求的服务器端 ...

  2. JVM调优总结(二)-基本垃圾回收算法

    可以从不同的的角度去划分垃圾回收算法: 按照基本回收策略分 引用计数(Reference Counting): 比较古老的回收算法.原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数. ...

  3. 【QT】利用pyqt5实现简单界面

    Topic: 利用pyqt5编写简单界面Env:win10 + Pycharm2018 + Python 3.6.8Date: 2019/4/29 by hw_Chen2018            ...

  4. web selenium 小笔记

    常用库导入 from selenium import webdriver #导入webdriver模块 from selenium.webdriver.common.by import By # XP ...

  5. Docker: GUI 应用,Ubuntu 上如何运行呢?

    操作系统: Ubuntu 18.04 运行镜像: continuumio/anaconda3, based on debian Step 1) 安装 Docker # update the apt p ...

  6. Beta冲刺 —— 总结随笔

    这个作业属于哪个课程 软件工程 这个作业要求在哪里 Beta冲刺 这个作业的目标 Beta冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.项目预期计划: 1.对于初版小程序的现 ...

  7. Rocket - devices - CLINT

    https://mp.weixin.qq.com/s/4LfZZDKCTQhiKIUjvbDKEg 简单介绍CLINT的实现. 1. 概述 CLINT即是Core Local Interrupter的 ...

  8. 洞悉MySQL底层架构:游走在缓冲与磁盘之间

    提起MySQL,其实网上已经有一大把教程了,为什么我还要写这篇文章呢,大概是因为网上很多网站都是比较零散,而且描述不够直观,不能系统对MySQL相关知识有一个系统的学习,导致不能形成知识体系.为此我撰 ...

  9. 通过Android studio手动触发Android 上层GC(垃圾回收)的方法

    1.打开android Studio, 2.菜单栏中点击"View"--"Tools Window"--"Profiler",可以看到对应的 ...

  10. Java实现 LeetCode 767 重构字符串(ASCII的转换)

    767. 重构字符串 给定一个字符串S,检查是否能重新排布其中的字母,使得两相邻的字符不同. 若可行,输出任意可行的结果.若不可行,返回空字符串. 示例 1: 输入: S = "aab&qu ...