Visual C++ 6.0实例教程 第6章

Visual C++ 6.0实例教程 第6章

ID:40239549

大小:517.50 KB

页数:37页

时间:2019-07-28

Visual C++ 6.0实例教程 第6章_第1页
Visual C++ 6.0实例教程 第6章_第2页
Visual C++ 6.0实例教程 第6章_第3页
Visual C++ 6.0实例教程 第6章_第4页
Visual C++ 6.0实例教程 第6章_第5页
资源描述:

《Visual C++ 6.0实例教程 第6章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章文件操作内容摘要:1.使用CFile类进行文件读写、删除、改名及访问文件属性2.使用CStdioFile类操作文本文件3.使用CFileFind类查找文件4.了解windowsAPI的文件操作返回目录6.1文件操作类CFile学习目标使用CFile类进行文件读写、删除、改名及访问文件属性.6.1返回第6章(1)文件打开函数OpenBOOLOpen(LPCTSTRlpszFileName,UINTnOpenFlags,CFileException*pError=NULL);参数lpszFileName:为欲打开的文件名,文件名

2、可以包含路径和文件名两部分。如“d:\bak\test.txt”,如果此字符串不包含文件路径,如“test.bak”,则系统默认为当前路径,即生成的可执行文件所在目录。参数nOpenFlags:用于设置访问模式,指定当打开文件时进行的动作,可以将以下所列模式用按位或“

3、”操作符连接起来。至少应有一个访问模式,modeCreate是可选的。以下是常用参数列表:CFile::modeCreate:调用构造函数构造一个新文件。CFile::modeRead:打开文件仅供读。CFile::modeReadWrite:打开文件供读/写。

4、CFile::modeWrite:打开文件仅供写。CFile::typeText:设置文本文件模式(只能用在子类中)。CFile::typeBinary:设置二进制文件模式(只能用在子类中)。参数pError:是一个异常类的指针,可通过该类和函数的返回值来确定函数是否调用成功,如下表所示。6.11.文件的打开与关闭注意:参数pError为CFileException类型。而CFileException是异常类的一种,用于检测文件操作中可能出现的错误。关于异常类,将在第八章进行详细的介绍。例如:CFilef;if(!f.Open(“

5、D:\bak\test.txt”,CFile::modeCreate

6、CFile::modeWrite))returnfalse;6.11.文件的打开与关闭Perror返回值调用是否成功异常类的设置NULLTrueYNULLFalseNCFileExceptionTrueY没有变化CFileExceptionFalseN置入错误信息(2)用于打开文件的构造函数CFile(LPCTSTRlpszFileName,UINTnOpenFlags)throw(CFileException);如:CFilef(“D:\bak\tes

7、t.txt”,Cfile::modeRead);注意:构造函数没有返回值,当打开文件出错时只是产生一个异常。所以不能象函数那样通过分支语句来保证文件已打开,而应使用TRY/CATCH宏来判断。例:CStringstrFileName=“D:\bak\test.txt”;TRY{CFilef(strFileName,CFile::modeCreate

8、CFile::modeWrite);}CATCH(CfileExceptione){#ifdef_DEBUGafxDump<<″文件不能打开!″<m_cause<<″″

9、;#endif}END_CATCH6.11.文件的打开与关闭(3)成员函数Close定义:voidClose();Close函数用于关闭由Open函数打开的文件。使用Open函数打开文件后,应使用Close函数释放文件句柄及缓冲区的资源。打开文件和关闭文件的例子。CFilef;if(!f.Open(“D:\baktest.txt”,CFile::modeRead)){MessageBox(“打开文件失败!”);return;}f.Close();6.11.文件的打开与关闭(1)读写函数virtualUINTRead(void*

10、lpBuf,UINTnCount);throw(CFileException);Read函数返回值是传输到缓冲区的字节数。参数lpBuf:指向用户提供的缓冲区以接收从文件中读取的数据。参数nCount:为可以从文件中读出字节数的最大值。注意:对所有CFile类,如果到达文件尾,则返回值可能比nCount小。virtualvoidWrite(constvoid*lpBuf,UINTnCount);throw(CFileException);Write函数的参数与Read函数的参数类似。参数lpBuf:指向用户提供的缓冲区,包含将写入

11、文件中的数据。参数nCount:从缓冲区内传输的字节数。Write在几种情况下均产生异常,包括磁盘满的情况、磁盘为写保护状态等。注意:CFile类并没有提供类似EOF之类的文件结束标志,所以文件的结束是根据Read函数的返回值来判断的。Read函数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。