cfile和cstdiofile 的使用方法

cfile和cstdiofile 的使用方法

ID:6029968

大小:53.00 KB

页数:6页

时间:2017-12-31

cfile和cstdiofile 的使用方法_第1页
cfile和cstdiofile 的使用方法_第2页
cfile和cstdiofile 的使用方法_第3页
cfile和cstdiofile 的使用方法_第4页
cfile和cstdiofile 的使用方法_第5页
资源描述:

《cfile和cstdiofile 的使用方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、CStdioFile类的声明保存在afx.h头文件中。CStdioFile类继承自CFile类,CStdioFile对象表示一个用运行时的函数fopen打开的c运行时的流式文件。流式文件是被缓冲的,而且可以以文本方式(默认)或者二进制方式打开。注:CStdioFile类不支持CFile类中的Duplicate、LockRange、UnlockRange函数,如果你使用了,会得到CNotSupportedException类的错误。CStringFile类默认的是按照Text模式操作文件。CFile类默认的是按照二进制模式操作文件。二进制模式和Text模式的区

2、别:二进制模式:对于一行的结尾我们必须输入”r”,才能表示回车换行的效果。Text模式:”r”回车的工作是自动完成的,我们只需要写入””即可。所以我们再使用文本模式时要主要,当我们从外部读入文件时,”r”会被翻译成””,写入文件时,我们对于回车换行只需提供””,即可,”r”会被写入到文件中。构造函数:CStdioFile();CStdioFile(FILE*pOpenStream);CStdioFile(LPCTSTRlpFileName,UINTnOpenFlags);throw(CFileException);参数说明:F

3、ILE*pOpenStream:指的是c运行函数fopen调用后返回的文件指针。LPCTSTRlpFileName:指的是被打开的文件(绝对地址或相对地址)UINTnOpenFlags:指的是CFile类中所描述的打开文件的方式。virtualLPTSTRReadString(LPTSTRlpsz,UINTnMax);throw(CFileException);如果使用该函数读取文本文件,当遇到”r”,停止读取,并去掉”r”,保留””,并在字符串尾部增加””,nMax的长度包含有””字符,实际的分析如下:如果nMax<=字符数,读取(nM

4、ax-1)个字符+0x00;如果nMax=字符数+1,读取nMax个字符+0x00;如果nMax>字符数,读取nMax个字符+0x0A(””)+0x00;如果文件有多行,则当文件没有读完时,返回NOTNULL,读到文件尾,返回NULL。BOOLReadString(CString&rString);throw(CFileException);读取一行文本到rString中,遇到回车换行符停止读取,回车和换行符均不读到rString中,尾部也不添加”0x00”。如果文件有多行,则当文件没有读完时,返回TRUE,读到文件尾,返回FALSE。virtualvo

5、idWriteString(LPTSTRlpsz);throw(CFileException);6将缓冲区中的数据写入到与CStdioFile对象相关联的文件中,不支持CString类型数据写入,结束的””不被写入到文件中,lpsz缓冲区中的所有换行符被替换为回车换行符即””转换为”r”。CStdioFileCStdioFile是CFile的派生类,对文件进行流式操作,对于文本文件的读写很有用处,可按行读取写入。//写入数据CStringstrValue="HelloWorld!";file.WriteString(strValue);//读取

6、数据CStringstrRead;file.ReadString(strRead);当文件存在多行数据需要逐行读取时,可用函数BOOLCStdioFile::ReadString(CString&rString),当遇到""时读取截断,如果文件未读完,返回true,否则返回false。//逐行读取文件内容,存入strReadwhile(file.ReadString(strRead)){...;}CFile类//创建/打开文件CFilefile;file.Open(_T("test.txt"),CFile::modeCreate

7、CFile::modeN

8、oTruncate

9、CFile::modeReadWrite);文件打开模式可组合使用,用“

10、”隔开,常用的有以下几种:CFile::modeCreate:以新建方式打开,如果文件不存在,新建;如果文件已存在,把该文件长度置零,即清除文件原有内容。CFile::modeNoTruncate:以追加方式打开,如果文件存在,打开并且不将文件长度置零,如果文件不存在,会抛出异常。一般与CFile::modeCreate一起使用,则文件不存在时,新建一个文件;存在就进行追加操作。CFile::modeReadWrite:以读写方式打开文件。CFile::modeRe

11、ad:只读。CFile::modeWrite:只写。

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

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

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