MFC文件操作
第二步 读写文件操作:
(1) 文件类 CFile
(2) 构造方法 CFile::CFile();
CFile::CFile( LPCTSTR lpszFileName, UINT nOpenFlags );
lpszFileName 文件名
nOpenFlags 打开方式,有:
CFile::modeCreate:以新建方式打开,如果文件不存在,新建;
如果文件已存在,把该文件长度置零,即清除文件原有内容。
CFile::modeRead:只读。
CFile::modeWrite:只写。
CFile::modeReadWrite:以读写方式打开文件。
CFile::modeNoTruncate:以追加方式打开,如果文件存在,打开并且不将文件长度置零,如果文件不存在,会抛出异常。
一般与CFile::modeCreate一起使用,则文件不存在时,新建一个文件;存在就进行追加操作。
用例如下:
CFile ReadFile(gReadFilePathName,CFile::modeRead);
CFile SaveFile(gSaveFilePathName,CFile::modeCreate|CFile::modeWrite);
(3) 只读方法 CFile::Read();
CFile::Read( void* lpBuf, UINT nCount ); 从lpBuf指向的地址开始读取nCount 个字节,指针也自动下移nCount .
lpBuf 文件指针
nCount 字节数
用例如下:
unsigned char temp;
ReadFile.Read(&temp,1);
(4) 只写方法 CFile::Write();
CFile::Write( const void* lpBuf, UINT nCount ); 向lpBuf指向的内存地址写入nCount 个字节,指针也自动下移nCount .
lpBuf 文件指针
nCount 字节数
用例如下:
char ChangRun[2] = {'\r','\n'};
SaveFile.Write(ChangRun,2);
(5) 定位方法 CFile::Seek();
CFile::Seek( LONG lOff, UINT nFrom ); 从指定位nFrom置偏移lOff字节.
nFrom 有三种方式,如:
CFile::begin 从文件开始移动
CFile::current 从当前位置移动
CFile::end 从文件末位移动,此时lOff为负值.
用例如下:
SaveFile.Seek(2,CFile::current);
完。