1 / 21
文档名称:

IO操作 – 文件流.doc

格式:doc   大小:17KB   页数:21页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

IO操作 – 文件流.doc

上传人:学习的一点 2021/8/8 文件大小:17 KB

下载得到文件列表

IO操作 – 文件流.doc

文档介绍

文档介绍:IO操作 – 文件流
1) C++ 文件I/O流结构
须include<fstream>,同时最好也include<iostream>,为了可移植性,因为fstream不一定会include<iostream>。

l ios_base基类 :public ios
定义了所有流共有的内容,不依赖于流所处理的字符类型。

l basic_ios<charT> :public ios_base
定义跟字符相关的输入输出共有的类,一般很少使用。

l basic_istream<charT> : public basic_ios<charT>
typedef basic_istream<char> istream;
typedef basic_istream<wchar_t> wistream;

istream cin;

l basic_ifstream<charT> : public basic_istream <charT>
typedef basic_ifstream<char> ifstream;
typedef basic_ifstream<wchar_t> wifstream;

l basic_ostream<charT> : public basic_ios<charT>
typedef basic_ostream<char> ostream;
typedef basic_ostream<wchar_t> wostream;

ostream cout;
ostream cerr;

cerr与cout的不同是cerr不带缓冲区,比较快。

l basic_ofstream<charT> : public basic_ostream <charT>
typedef basic_ofstream<char> ofstream;
typedef basic_ofstream<wchar_t> wofstream;


l basic_iostream<charT>
: public basic_istream<charT>,
basic_ostream<charT>
typedef basic_iostream<char> iostream;

l basic_fstream<charT> : public basic_iostream <charT>
typedef basic_fstream<char> fstream;
typedef basic_fstream<wchar_t> wfstream;

2) C++文件处理
l 文件打开模式
ios::in
可用于读取文件;防止更改或截断文件;
当用ofstream时,以这种模式打开的文件,
可往文件中间覆盖存在的内容。

ios::out
当用ifstream时,以这种模式打开也可以写入文件,参看下文。

ios::app
仅用于追加文件内容
以这个方式打开文件,无论怎么移动文件指针,都只能往文件末尾追加。

ios::ate
如果文件存在,文件指针默认为文件末尾。
当用ofstream时,以这种模式打开和trunc是一样的效果,文件内容被清空。

ios::trunc
如果文件存在,则清空文件内容
默认输出是这样方式,如果没有指定app 或in。

ios::binary
文件以二进制打开,默认为文本方式。
只在windows上存在的方式:文件系统用回车(13)/换行(10)来表示行的结束符。当写入’/n’ (10)时,系统写入回车换行符。读取时做相反处理。
而用二进制方式读写时,系统会忽略这种转换,完全按字节存取。

例子:
ios::in | ios::out | ios::binary

l 优雅