- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第14章文件流内存流
第14章 文件流和内存流;14.1.3 文件流类体系
类filebuf用于管理文件的缓冲区。
类fstreambase提供了I/O所需要的所有成员函数。
类ifstream用于从文件中取(i)数据。
类ofstream用于向文件输出(o)数据。
类fstream用于文件的双向数据传递I/O)。
以上类的派生(产生)方法参看305页。;14.2 文件的打开与关闭
14.2.1 文件的打开
C++在文件流类中提供了4个文件的成员函数:
void fstreambase::open(char *, int, int=filebuf ::openprot)
void ifstream ::open(char *, int=ios :: in, int)
void ofstream :: open(char *, int=ios :: out, int)
void fstream :: open(char *, int, int);说明:
第一个参数是文件名,第二个参数是访问方式,第三个参数是保护方式。
在所有文件流的基类ios中,可以使用下列打开模式的公有枚举成员:
in 0x01 输入
out 0x02 输出
ate 0x04 将指针置于文件未
app 0x08 追加
binary 0x80 打开二进制文件
一般情况,将几种模式组合使用。更多的成员参考306页。;例:打开一个文件result文件
ifstream infile;
infile.open(“result”); 等价于:
infile.open(“result”,ios ::in); //打开输入文件
infile.open(“result”,ios ::in | ios : : binary); //打开二进制输入文件;说明:
对于类ifstream的对象,打开文件时默认模式in。
对于类ofstream的对象,打开文件时默认模式out。
C++在文件类中提供的4个文件流类中同时重载一个带缺省参数的构造函数:
void fstreambase ::fstreambase (char *, int, int=filebuf ::openprot)
void ifstream ::ifstream (char *, int=ios ::out, int)
void ofstream ::ofstream (char *, int=ios ::in, int)
void fstream ::fstream (char *, int, int)
定义对象时,同时也打开了一个文件。;4. 若文件打开出错,则返回一个NULL值。因此常常用下列格式提示出错:
ifstream infile;
infile.open(“result”);
if (! infile)
{ cour(“cannot open this file”);
exit(1);
}
其中,exit(1) 为返回编辑状态,1可省。;14.2.2 文件的关闭
ifstream infile;
infile.open(“result”);
if (! infile)
{ cour(“cannot open this file”);
exit(1);
}
infile. close();;14.3 文件的读写
使用两个读写运算符: 和
例14-1:模拟DOS命令,将*.cpp 再复制一份,新文件名为:* new.cpp
算法:
打开输入文件
打开输入/输出文件
文件复制
文件关闭;方法一:
#include fstream.h
#include iostream.h
#include stdlib.h
void main(int argc,char *argv[])
{
if (argc!=3)
{coutinput errorendl;
exit(1);
}; ifstream infile(argv[1]); //定义对象并初始化,打开模式省
if (! infile) {
coutCont open source file argv[1]endl;
exit(1);}
ofstream outfile(argv[2]); //定义对象并初始化,打开模式省
if (! outfile) {
coutCont open t
文档评论(0)