C/C++基础----IO库
- IO对象无拷贝或赋值,通常以引用形式传递。
|
IO库条件状态 |
|
|
strm::iostate |
一种机器相关的类型,提供了表达条件状态的完整功能 |
|
strm::badbit |
用来指出流已经崩溃 |
|
strm::failbit |
用来指出一个IO操作失败了 |
|
strm::eofbit |
用来指出流到达了文件结束 |
|
strm::goodbit |
用来指出流未处于错误状态,此值保证为0 |
|
s.eof() |
若s的eofbit置位,返回true |
|
s.fail() |
若s的failbit或badbit置位,返回true |
|
s.bad() |
若s的badbit置位,返回true |
|
s.good() |
s处于有效状态,则返回true |
|
s.clear() |
s的所有条件状态位复位,返回void |
|
s.clear(flags) |
将给定的标志位复位,返回void |
|
s.setstate(flags) |
将流中对应条件状态为置位,返回void |
|
s.rdstate() |
返回流s的当前状态,返回值类型为strm::iostate |
缓冲刷新(数据真正写到输出设备或文件)的原因:
- 程序正常结束
- 缓冲区满时
- 操纵符endl、flush、ends
- 操纵符unitbuf设置流的内部状态,每次输出后都刷新(cout<<unitbuf; cout<<nonunitbuf;)
- 当读写被关联的流时,被关联的流会刷新(读cin或写cerr都会导致cout刷新)
关联—两个重载版本
cin.tie() 返回指向输出流的指针,如未关联则返回空指针;
cin.tie(&cout) 将cin关联到cout
fstream继承自iostream,定义时可以打开名为s的文件
除了<< 和 >> ,还可以open close getline
in以读模式打开
out 以写模式打开
app 每次写操作均定位到文件末尾
ate打开文件后立即定位到文件末尾
trunk 截断文件
binary 以二进制方式打开IO
默认out模式打开文件,且截断文件;如不想清空文件内容,需要同时指定app
string流
sstream strm(s); //explicit的
strm.str(); //返回所保存的string拷贝
strm.str(s); //s拷贝到strm中
某些工作是对整行进行处理,而其他一些工作是处理行内某个单词时,通常可以使用istringstream
当我们逐步构造输出希望最后一起打印时,ostringstream很有用。
C/C++基础----IO库的更多相关文章
- C 标准库基础 IO 操作总结
其实输入与输出对于不管什么系统的设计都是异常重要的,比如设计 C 接口函数,首先要设计好输入参数.输出参数和返回值,接下来才能开始设计具体的实现过程.C 语言标准库提供的接口功能很有限,不像 Pyth ...
- C/C++基础----标准库几个工具库tuple,bitset,正则表达式,随机数,IO库
tuple tuple可以有任意多个成员 默认初始化,值初始化 构造函数是explicit,必须直接初始化 make_tuple(v1,v2,-,vn) get<i> (t) 返回第i个数 ...
- WeUI基础样式库——写一个移动端界面
WeUI是一套基础样式库,同微信原生视觉体验一致,由微信官方设计团队为微信内网页和微信小程序量身设计的.我们来看看这个基础库样式到底长什么样. 这些密密麻麻的就是压缩后的样式库.密密麻麻地看起来简直要 ...
- [APUE]标准IO库(下)
一.标准IO的效率 对比以下四个程序的用户CPU.系统CPU与时钟时间对比 程序1:系统IO 程序2:标准IO getc版本 程序3:标准IO fgets版本 结果: [注:该表截取自APUE,上表中 ...
- [APUE]标准IO库(上)
一.流和FILE对象 系统IO都是针对文件描述符,当打开一个文件时,即返回一个文件描述符,然后用该文件描述符来进行下面的操作,而对于标准IO库,它们的操作则是围绕流(stream)进行的. 当打开一个 ...
- 文件IO函数和标准IO库的区别
摘自 http://blog.chinaunix.net/uid-26565142-id-3051729.html 1,文件IO函数,在Unix中,有如下5个:open,read,write,lsee ...
- 【转载】C++ IO库
本篇随笔为转载,原贴地址:<C++ Primer>第8章 IO库 学习笔记. 1.IO类 #include <iostream> istream//从流中读取数据 ostrea ...
- 从Decorator,Adapter模式看Java的IO库
我想任何一本介绍模式的书在讲到Decorator模式的时候不能不提到它的实际应用--在Java/IO库里面的应用,<<Java与模式>>这本书也不例外,有点不一样的是,这本书在 ...
- C++ Primer 读书笔记: 第8章 标准IO库
第8章 标准IO库 8.1 面向对象的标准库 1. IO类型在三个独立的头文件中定义:iostream定义读写控制窗口的类型,fstream定义读写已命名文件的类型,而sstream所定义的类型则用于 ...
随机推荐
- TClientDataSet 的Filename 和 open方法
cdsAdd.Open 不能用open,因为这个是DataSet的通用方法,不会检测文件名的,文件名是CDS特有的
- Linux内核分析-分析system_call中断处理过程
姓名:江军 ID:fuchen1994 分析system_call中断处理过程 使用gdb跟踪分析一个系统调用内核函数(您上周选择那一个系统调用),系统调用列表参见http://codelab.shi ...
- sql server中的go
1. 作用:向 SQL Server 实用工具发出一批 Transact-SQL 语句结束的信号.2. 语法:一批 Transact-SQL 语句GO如Select 1Select 2Select 3 ...
- L1-051 打折
去商场淘打折商品时,计算打折以后的价钱是件颇费脑子的事情.例如原价 ¥988,标明打 7 折,则折扣价应该是 ¥988 x 70% = ¥691.60.本题就请你写个程序替客户计算折扣价. 输入格式: ...
- Python3 集合(set)(十五)
集合(set)是一个无序不重复元素的序列. 它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 set和dict类似,也是一组key的集合, ...
- IOS消息推送(转)
第一部分 首先第一步当然是介绍一下苹果的推送机制(APNS)咯(ps:其实每一篇教程都有),先来看一张苹果官方对其推送做出解释的概要图. Provider是给你手机应用发出推送消息的服务器,而APNS ...
- Linux 内核链表实现和使用(一阴一阳,太极生两仪~)
0. 概述 学习使用一下 linux 内核链表,在实际开发中我们可以高效的使用该链表帮我们做点事, 链表是Linux 内核中常用的最普通的内建数据结构,链表是一种存放和操作可变数据元 素(常称为节点) ...
- https页面证书验证、加密过程简介
1.服务器向CA机构获取证书(假设这个证书伪造不了),当浏览器首次请求服务器的时候,服务器返回证书给浏览器.(证书包含:公钥+申请者与颁发者的相关信息+签名) 2.浏览器得到证书后,开始验证证书的相关 ...
- tensorflow读取训练数据方法
1. 预加载数据 Preloaded data # coding: utf-8 import tensorflow as tf # 设计Graph x1 = tf.constant([2, 3, 4] ...
- Linux:rm:du命令
RM 删除选项rm -r 递归删除,删除目录下所有 删除当前文件下所有文件呢? rm -rf * rm -f 忽略删除提醒 万千从中找到文件删除 ls |grep abc |xargs rm -f 保 ...