MFC教程(11)-- MFC下的文件类
2010-03-25 20:35:02 来源:WEB开发网核心提示:UINT m_hFile该成员变量是public访问属性,保存::CreateFile返回的操作系统的文件句柄,MFC教程(11)-- MFC下的文件类(3),MFC重载了运算符号HFILE来返回m_hFile,这样在使用HFILE类型变量的地方可以使用CFile对象,一般地,成员函数被映射到对应的Win32函数,BO
UINT m_hFile
该成员变量是public访问属性,保存::CreateFile返回的操作系统的文件句柄。MFC重载了运算符号HFILE来返回m_hFile,这样在使用HFILE类型变量的地方可以使用CFile对象。
BOOL m_bCloseOnDelete;
CString m_strFileName;
这两个成员变量是protected访问属性。m_bCloseOnDelete用来指示是否在关闭文件时删除CFile对象;m_strFileName用来保存文件名。
CFile的成员函数
CFile的成员函数实现了对Win32文件操作函数的封装,完成以下动作:打开、创建、关闭文件,文件指针定位,文件的锁定与解锁,文件状态的读取和修改,等等。其中,用到了m_hFile文件句柄的一般是虚拟函数,和此无关的一般是静态成员函数。一般地,成员函数被映射到对应的Win32函数,如表11-1所示。
表11-1 CFile函数对Win32文件函数的封装
| 虚拟 | 静态 | 成员函数 | 对应的Win32函数 |
| 文件的创建、打开、关闭 | |||
| √ | Abort | CloseHandle | |
| √ | Duplicate | DuplicateHandle | |
| √ | Open | CreateFile | |
| √ | Close | CloseHandle | |
| 文件的读写 | |||
| √ | Read | ReadFile | |
| ReadHuge(向后兼容) | 调用Read成员函数 | ||
| √ | Write | WriteFile | |
| WriteHuage(向后兼容) | 调用Write成员函数 | ||
| √ | Flush | FlushFileBuffers | |
| 文件定位 | |||
| √ | Seek | SetFilePointer | |
| SeekToBegin | 调用Seek成员函数 | ||
| SeekToEnd | 调用Seek成员函数 | ||
| √ | GetLength | 调用Seek成员函数 | |
| √ | SetLength | SetEndOfFile | |
| 文件的锁定/解锁 | |||
| √ | LockRange | LockFile | |
| √ | UnlockRange | UnlockFile | |
| 文件状态操作函数 | |||
| √ | GetPosition | SetFilePointer | |
| GetStatus(CFileStatus&) | GetFileTime,GetFileSize等 | ||
| √ | GetStatus(LPSTR lpszFileName CFileStatus&) | FindFirstFile | |
| √ | GetFileName | 不是简单地映射到某个函数 | |
| √ | GetFileTitle | ||
| √ | GetFilePath | ||
| √ | SetFilePath | ||
| √ | SetStatus | ||
| 改名和删除 | |||
| √ | Rename | MoveFile | |
| √ | Remove | DeleteFile | |
更多精彩
赞助商链接
