C++: I/O流详解
一、输入流操作

1.read 无格式输入指定字节数
istream& read ( char* pch, int nCount );
istream& read ( unsigned char* puch, int nCount );
istream& read ( signed char* psch, int nCount );
2.get 从流中提取字符,包括空格
int get();
istream& get( char* pch, int nCount, char delim = '\n' );
istream& get( unsigned char* puch, int nCount, char delim = '\n' );
istream& get( signed char* psch, int nCount, char delim = '\n' );
istream& get( char& rch ); istream& get( unsigned char& ruch );
istream& get( signed char& rsch );
istream& get( streambuf& rsb, char delim = '\n' );
3.getline 从流中提取一行字符
istream& getline( char* pch, int nCount, char delim = '\n' );
istream& getline( unsigned char* puch, int nCount, char delim = '\n' );
istream& getline( signed char* psch, int nCount, char delim = '\n' );
4.ignore 提取并丢弃流中指定字符
istream& ignore( int nCount = 1, int delim = EOF );
5.peek 返回流中下一个字符,但不从流中删除
int peek();
6.gcount 统计最后输入的字符个数
int gcount() const;
7.eatwhite 忽略前导空格
void eatwhite();
8.seekg 移动输入流指针
istream& seekg( streampos pos );
istream& seekg( streamoff off, ios::seek_dir dir );
9.tellg 返回输入流中指定位置的指针值
streanpos tellg();
10.operator >> 提取运算符
basic_istream& operator>>( basic_istream& (*pf)(basic_istream&));
basic_istream& operator>>( basic_ios<E, T>& (*pf)(basic_ios<E, T>&));
basic_istream& operator>>( ios_base<E, T>& (*pf)(ios_base<E, T>&));
basic_istream& operator>>( basic_streambuf<E, T> *sb);
basic_istream& operator>>(bool& n);
basic_istream& operator>>(short& n);
basic_istream& operator>>(unsigned short& n);
basic_istream& operator>>(int& n);
basic_istream& operator>>(unsigned int& n);
basic_istream& operator>>(long& n);
basic_istream& operator>>(unsigned long& n);
basic_istream& operator>>(void *& n);
basic_istream& operator>>(float& n);
basic_istream& operator>>(double& n);
basic_istream& operator>>(long double& n);
例子:
//用get函数从键盘输入字符
void f1(){
char c;
cout<<"Enter first sentence followed by enter\n";
while((c = cin.get())!='\n')
cout.put(c);
cout<<endl; cout<<"Enter second sentence followed by enter\n";
while(cin.get(c)){
if (c == '\n')
break;
cout.put(c);
}
cout<<endl; cout<<"Enter thired sentence followed by enter\n";
char s[];
cin.get(s, );
cout<<s<<endl;
}
输出:

二、输出流

1.put 无格式,插入一个字节
ostream& put(char ch);
2.write 从无格式,插入一字节序列
ostream& write( const char* pch, int nCount );
ostream& write( const unsigned char* puch, int nCount );
ostream& write( const signed char* psch, int nCount );
3.flush 刷新输出流
ostream& flush();
4.seekp 移动输出流指针
ostream& seekp( streampos pos );
ostream& seekp( streamoff off, ios::seek_dir dir );
5.tellp 返回输出流中指定位置的指针
streampos tellp();
6.operstor<< 插入运算符
basic_ostream& operator<<( basic_ostream& (*pf)(basic_ostream&));
basic_ostream& operator<<( basic_ios<E, T>& (*pf)(basic_ios<E, T>&));
basic_ostream& operator<<( ios_base<E, T>& (*pf)(ios_base<E, T>&));
basic_ostream& operator<<( basic_streambuf<E, T> *sb);
basic_ostream& operator<<(const char *s);
basic_ostream& operator<<(char c);
basic_ostream& operator<<(bool n);
basic_ostream& operator<<(short n);
basic_ostream& operator<<(unsigned short n);
basic_ostream& operator<<(int n);
basic_ostream& operator<<(unsigned int n);
basic_ostream& operator<<(long n);
basic_ostream& operator<<(unsigned long n);
basic_ostream& operator<<(float n);
basic_ostream& operator<<(double n);
basic_ostream& operator<<(long double n);
basic_ostream& operator<<(void *n);
例子:
#include<iostream.h>
void main()
{ cout << "Enter a sentence followed by Enter\n" ;
char s[ ] ;
cin.getline ( s, ) ;
cout.write(s, ) ;
cout<<endl;
}
输出:

三、流错误状态


C++: I/O流详解的更多相关文章
- 基于JavaSE阶段的IO流详解
1.IO流基本概述 在Java语言中定义了许多针对不同的传输方式,最基本的就是输入输出流(俗称IO流),IO流是属于java.io包下的内容,在JavaSE阶段主要学下图所示的: 其中从图中可知,所有 ...
- CSS布局之脱离文档流详解——浮动、绝对定位脱离文档流的区别
1.代码 (1)示例代码1 <!DOCTYPE html> <html lang="zh"> <head> <meta charset=& ...
- Spring Cloud Zuul 限流详解(附源码)(转)
在高并发的应用中,限流往往是一个绕不开的话题.本文详细探讨在Spring Cloud中如何实现限流. 在 Zuul 上实现限流是个不错的选择,只需要编写一个过滤器就可以了,关键在于如何实现限流的算法. ...
- [视频播放] HLS协议之M3U8、TS流详解
本文转载自:<hls之m3u8.ts流格式详解> HLS,Http Live Streaming 是由Apple公司定义的用于实时流传输的协议,HLS基于HTTP协议实现,传输内容包括两部 ...
- Spring Cloud限流详解
转自:https://blog.csdn.net/tracy38/article/details/78685707 在高并发的应用中,限流往往是一个绕不开的话题.本文详细探讨在Spring Cloud ...
- Spring Cloud(十二):Spring Cloud Zuul 限流详解(附源码)(转)
前面已经介绍了很多zuul的功能,本篇继续介绍它的另一大功能.在高并发的应用中,限流往往是一个绕不开的话题.本文详细探讨在Spring Cloud中如何实现限流. 在 Zuul 上实现限流是个不错的选 ...
- web前端学习(四)JavaScript学习笔记部分(5)-- 事件流详解
1.JS事件详解-事件流 1.1.事件流 1.事件流: 描述的是在页面中接受事件的顺序 2.事件冒泡: 由最具体的元素接收,然后逐级上传播至最不具体的节点(文档) 3.事件捕获: 最不具体的节点先接收 ...
- IO流详解
目录 IO流 IO流概述及其分类 IO概念 流按流向分为两种: 流按操作类型分为两种: 常用的IO流类 字节流的抽象父类: 字符流的抽象父类: InputStream & FileInputS ...
- Java io流详解四
转载地址:http://www.cnblogs.com/rollenholt/archive/2011/09/11/2173787.html 写在前面:本文章基本覆盖了java IO的全部内容,jav ...
- java IO流详解
流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
随机推荐
- 【转】Java内存与垃圾回收调优
要了解Java垃圾收集机制,先理解JVM内存模式是非常重要的.今天我们将会了解JVM内存的各个部分.如何监控以及垃圾收集调优. Java(JVM)内存模型 正如你从上面的图片看到的,JVM内存被分成多 ...
- kindeditro.js乱码问题
kindeditor.js是用于显示新建邮件时的菜单栏的一个插件,比较好用,但是在引入的时候会出现乱码问题,主要有几个方面原因. 1.编码方式不对,要设置成utf8. <script chars ...
- WPF中ItemsControl绑定到Google ProtocolBuffer的结构体时的性能问题
背景: 最近遇到一个DataGrid的性能问题:里面大概有4000个数据, 绑定的ItemSource的类也只有一层数据,即简单的List(里面每个是Protocol Buffer自动产生的一个类,1 ...
- compile cef2526
fetch --nohooks chromium cd /path/to/chromium/src# git checkout -b 51.0.2704.103 refs/tags/51.0.2704 ...
- (转)更改Web.config中对上传文件大小限制
.net上传超过200K的图片的时候,会跳转到404,但是url没有错误,真J8的坑啊. 本文转载自:http://www.cnblogs.com/zwffff/archive/2009/04/29/ ...
- Regexp:目录
ylbtech-Regexp:目录 1.返回顶部 1. http://www.runoob.com/regexp/regexp-tutorial.html 2. 2.返回顶部 3.返回顶部 4 ...
- mybatis 学习四(下) SQL语句映射文件增删改查、参数、缓存
2.2 select 一个select 元素非常简单.例如: <!-- 查询学生,根据id --> <select id="getStudent" paramet ...
- C Primer Plus学习笔记(六)- C 控制语句:分支和跳转
if 语句: if 语句被称为分支语句(branching statement)或选择语句(selection statement) if 语句的通用形式: if (expression) state ...
- paramiko连接方式
链接方法: 方式一: ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh. ...
- 问题:oracle字符串函数;结果:Oracle字符串函数
Oracle字符串函数 最近换了新公司,又用回Oracle数据库了,很多东西都忘记了,只是有个印象,这两晚抽了点时间,把oracle对字符串的一些处理函数做了一下整理,供日后查看.. 平常我们用Ora ...