MFC 文件操作概要 笔记

来源:互联网 发布:java整型常量 编辑:程序博客网 时间:2024/05/03 12:27
       MFC中文件操作采用的思路是利用文件类来定义文件对象,然后采用文件操作类中的函数成员来实现对文件的操作。然后再进一步对类中函数操作出来的文件内容进行处理,得出来的文件内容大多用字符串处理函数来处理,从而得到coder想要的字符串或者数据。

1 SCtdioFile

         CStdioFile继承自CFile,一个CStdioFile对象代表一个用运行时函数fopen打开的C运行时流式文件。流式文件是被缓冲的,而且可以以文本方式(缺省)或二进制方式打开。

        CFile类的Dupliccate,LockRange,UnlockRange函数在CStdioFile类中不再拥有。

    在CStdioFile类中,主要是用行读[ ReadString ]和行写[ WriteString ]函数及文件指针定位函数[ Seek ]来对文件进行操作。

 

2 CFile

        CFile类操作文件默认的是Binary模式,CStdioFile类操作文件默认的是Text模式。所以操作文本时一般用CStdioFile,普通文件时用CFile

        CFile类中的主要用规定长度的读函数[ Read ]和写函数[ Write ]和随机定位指针函数[ Seek ]函数来对文件进行操作。这个类中的成员函数稍微比CStdioFile多点,可查看CFile中的成员函数,看其名猜测其功能。

 

3 MFC 文件操作的框架或者步骤

3.1 MFC文件操作步骤

不管是用MFC中文件操作类[CFile或者CStdioFile ],编写代码的步骤大多如下:

[1]  根据文件对象进行需求分析,选择具体的文件操作类

[2]  文件类文件对象myfile;

[3]  myfile.Open打开文件

[4]  myfile./写函数 操作文件内容

[5]  字符串处理函数或者自编字符串处理函数处理从文件中得来数据,以得到自己想要的数据   [核心部分 ]

[6]  myfile.Close关闭文件

 在MFC 程序中,读取操作或者一般的字符串处理操作函数都能在相应的类中找到。要转向面向对象程序设计的思维。

3.2 MFC文件操作例子

MFC编写一段代码,用一个按钮来触发,功能包括:打开文件file.txt,将文件的所有内容显示在对话框之上。按钮对应的响应函数如下:

void CMFCReadFileDlg::OnBnClickedOpenfile(){        int Fret;        char *pStr;        LPCTSTR FileName;        CFile MyFile;        FileName = _T("F:\\VS10WorkSpace\\MFCReadFile\\file.txt");                Fret = MyFile.Open( FileName, CStdioFile::modeRead );                if( Fret ){                pStr = new char[MyFile.GetLength()];                MyFile.GetLength();                MyFile.Read( pStr, MyFile.GetLength() );                //处理字符串str                //......                ::MessageBoxW( NULL, (LPCTSTR)pStr, _T("File Content"), MB_OK );                                MyFile.Close();       }}

 

源代码对应上面的操作步骤,CFile读取文件的操作函数就是根据规定的长度读取内容。

执行结果:

 

核心是处理从文件中得出来的内容。这里木有的。

 

 

图1 文件读写结果

左边记事本是读取的file.txt文件,右边是读取的结果。

此次笔记记录完毕。