admin 管理员组

文章数量: 1086019


2024年3月27日发(作者:cgi脚本语言是什么)

CStdioFile类学习笔记+text文件操作

CStdioFile类学习笔记

CStdioFile类的声明保存再afx.h头文件中。

CStdioFile类继承自CFile类,CStdioFile对象表示一个用运行时的函数fopen打开

的c运行时的流式文件。流式文件是被缓冲的,而且可以以文本方式(默认)或者二进制

方式打开。

CStdioFile类不支持CFile类中的Duplicate、LockRange、UnlockRange函数,如

果你使用了,会得到CNotSupportedException类的错误。

CStringFile类默认的是按照Text模式操作文件。CFile 类默认的是按照二进制模式操

作文件。

这里大致说明一下二进制模式和Text模式的区别。

二进制模式:对于一行的结尾我们必须输入”/r/n”,才能表示回车换行的效果。

Text模式:”/r”回车的工作是自动完成的,我们只需要写入”/n”即可。所以我们

再使用文本模式时要主要,当我们从外部读入文件时,”/r/n”会被翻译成”/n”,写入

文件时,我们对于回车换行只需提供”/n”,即可,”/r/n”会被写入到文件中。

m_pStream成员变量:

打开文件的指针。

构造函数:

CStdioFile();

CStdioFile(FILE *pOpenStream);

CStdioFile(LPCTSTR lpFileName, UINT nOpenFlags);

throw(CFileException);

FILE *pOpenStream:指的是c运行函数fopen调用后返回的文件指针。

LPCTSTR lpFileName:指的是被打开的文件(绝对地址或相对地址)

UINT nOpenFlags:指的是CFile类中所描述的打开文件的方式。

virtual LPTSTR ReadString(LPTSTR lpsz, UINT nMax);

throw(CFileException);

如果使用该函数读取文本文件,当遇到”/r/n”,停止读取,并去掉”/r”,保

留”/n”,并在字符串尾部增加”/0”,nMax的长度包含有”/0”字符,

实际的分析如下:


本文标签: 文件 模式 回车 函数 读取