CFile使用主要方法答疑
CFile是MFC文件类的基类,它直接提供非缓冲的二进制磁盘输入输出,并直接地通过派生类支持文本文件和内存文件。
通常,一个磁盘文件在CFile构造时自动打开并在析构时关闭。使用静态函数可以在不打开文件的情况下检查文件状态。
CFile::Open( , UINT , * = NULL);
返回值:打开成功返回非0,失败返回0;
参数:
:文件路径
UINT :文件操作模式
* :如果需要进行打开失败原因进行处理,此处需要传入一个对象指针;否则默认NULL.
PS:
:::异常的文件名;
:::异常的原因代码;
:::异常的信息;
eg:
CFile oDeviceFile;
CFileException fileException;
if (!oDeviceFile.Open(lpszFile, CFile::modeRead | CFile::modeNoTruncate , &fileException))
{//文件打开失败CString strError = _T("");strError.Format(_T("Can't open file %s, error = %u\n"), fileException.m_strFileName, fileException.m_cause);AfxMessageBox(strError);TCHAR szCause[255] = { _T("") };CString strFormatted = _T("");fileException.GetErrorMessage(szCause, 255);strError.Format(_T("Error message = %s\n"), szCause);AfxMessageBox(strError);
}
CFile::();
返回值:获取文件大小,单位:字节。
这里需要注意的是,右键文件属性时文件有两个大小值属性:1.文件大小;2.占用空间大小
该方法获取的是"文件大小"的值,而非占用空间大小。例如上图中的文件,返回的是1446.
关于占用空间大小的解释: