The mfc file manipulates the method of creating a file for the CFile class
- 2020-06-15 10:04:55
- OfStack
mfc file action class CFile
Several constructors of the CFile class
CFile();// A constructor with no arguments.
CFile(int hFile);// Constructor with a file handle argument.
CFile(
LPCTSTR lpszFileName,// The path to the file to open
UINT nOpenFlage // Sharing and access mode when opening a file
);// Constructor with file path and open mode
In addition to opening the file with the constructor, you can open it with the member function Open of the CFile class
The OPen function prototype
virtual BOOL Open(
LPCTSTR lpszFilename,// The path to open the file can be either absolute or relative.
UINT nOpenFlags, // Sharing and access mode when opening a file.
CFileException *pError=NULL// Open the exception capture variable for the file
) ;
The arguments to CFile constructor and CFile member function Open can be any combination of the following (using a bit or | combination) :
CFile::modeCreate | 新建文件,如果文件已存在,则清空文件长度。 |
CFile::modeNotruncate | 与modeCreate组合使用。如果创建的文件已经存在,则打开已存在的文件,不存在则新建文件。 |
CFile::modeRead | 以只读方式打开文件。 |
CFile::modeWrite | 以只写方式打开文件。 |
CFile::modeNoInherit | 阻止文件从子进程中继承。 |
CFile::shareDenyNone | 共享读写的打开文件。 |
CFile::shareDenyRead | 排它读权限打开文件。 |
CFile::shareDenyWrite | 排它写权限打开文件。 |
CFile::shareExclusive | 排它模式打开文件。 |
CFile::typeText | 文本模式打开文件。 |
CFile::typeBinary | 2进制以写模式打开该文件。 |
Create the file and open the example:
void CMFCApplication42Dlg::OnBnClickedButton1()
{
// TODO: Add control notification handler code here
CString filename = _T("C:\\Users\\Administrator\\Desktop\\test.txt"); // Define filename
TRY // Exception handling
{
CFile f(filename, CFile::modeCreate | CFile::modeWrite);
}
CATCH (CFileException, e)// Abnormal trigger
{
#ifdef _DEBUG // If it's in debug mode
afxDump << " Failed to open file " << e->m_cause << "\n";
#endif
}
END_CATCH
}
conclusion
Above is the site to introduce mfc file operation CFile class to create the file method, I hope to help you, if you have any questions welcome to leave a message, this site will reply you in time!