C++ 之 输入输出流 相关知识点整理

本文详细介绍了C++中的流类库,包括流类与流对象的基础概念、标准流(cin, cout, cerr, clog)、istream(输入流)与ostream(输出流)的成员函数、错误流的处理以及格式控制。同时讲解了文件输入输出的相关概念,如文本文件、二进制文件的打开、关闭,以及流指针的操作。通过本文,读者将深入理解C++的I/O系统和流操作。" 112329665,10542596,电子大小的散射研究:mie散射理论与光子交互,"['物理学', '光学', '电磁学', '量子力学', '散射理论']
摘要由CSDN通过智能技术生成

一、流类与流对象。

1.基础概念

Ø 程序中,对数据的输入/输出是以字节流实现的

Ø 应用程序对字节序列作出各种数据解释

Ø I/O系统的任务就是在内存和外部设备之间稳定可靠地传输数据 和解释数据。

Ø 流类对象可以建立和删除,可以从流中获取数据和向流添加数据

2.流类库

Ø流类库(stream library)是用继承方法建立的输入输出类库

Ø  流库具有两个平行的基类:streambuf 和 ios 类,所有流类均以两者之一作为基类

Ø  streambuf 类提供对缓冲区的低级操作,如   设置缓冲区  对缓冲区指针操作  向缓冲区存/取字符

                    

Ø   ios 类及其派生类提供用户使用流类的接口,支持对streambuf 的缓冲区输入/输出的格式化或非格式化转换

            

3.头文件

Ø  iostream.h  包含操作所有输入/输出流所需的基本信息含有cincoutcerrclog对象,提供无格式和格式化的I/O

Ø  iomanip.h  包含格式化I/O操纵算子,用于指定数据输入输出的格式

Ø  fstream.h  处理文件信息,包括建立文件,读/写文件的各种操作接口

 

二、标准流和流操作

1.标准流

(1)  cin  istream 类的对象,通常连向键盘,可以重定向

(2)  cout  ostream 类的对象,通常连向显示器,可以重定向

(3)  cerr  ostream 类的对象,连向显示器。不能重定向

(4)  clog  ostream 类的对象,连向打印机。不能重定向

 

2.istream类(输入流)

2.1 成员函数及功能

函数

功能

read

istream& read ( char* pch, int nCount );

istream& read ( unsigned char* puch, int nCount );

istream& read ( signed char* psch, int nCount );

无格式输入指定字节数

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' );

从流中提取字符,包括空格

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' );

从流中提取一行字符

ignore

istream& ignore( int nCount = 1, int delim = EOF );

提取并丢弃流中指定字符

peek

int peek();

返回流中下一个字符,但不从流中删除

gcount

int gcount() const;

统计最后输入的字符个数

eatwhite

void eatwhite();

忽略前导空格

seekg

istream& seekg( streampos pos );

istream& seekg( streamoff off, ios::seek_dir dir );

移动输入流指针

tellg

streampos tellg();

返回输入流中指定位置的指针值

operstor>>

basic_istream

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值