mfc封装了关于文件的许多操作,我们可以通过CFile 类帮助我们很好的使用它。
下面是一个创建和写入文件的代码:
CFile a("2.txt",CFile::modeCreate|CFile::modeWrite);a.Write("shizhan",strlen("shizhan"));a.SeekToBegin();a.Write("chouyun",strlen("chouyun"));a.SeekToBegin();a.Write("a",strlen("a"));a.Close();
2:读取文件
CFile a("2.txt",CFile::modeRead);char b[100];memset(b,0,sizeof(b));a.Read(b,sizeof(b));MessageBox(b);
mfc同时也为我们封装了打开和关闭文件对话框的类
,CFileDialog
CFileDialog filedialog(FALSE);if(IDOK==filedialog.DoModal()){CFile file(filedialog.GetFileName(),CFile::modeCreate|CFile::modeWrite);file.Write("shizhan",strlen("shizhan"));file.Close();}
将filedialog设置为false,表示创建一个打开文件对话框,设置为真则表示创建一个保存文件对话框。
要修改对话框的style,可以通过修改m_ofn来修改
CWinApp类中封装了一些关于写入和读取注册表文件的函数。。。
SetRegistryKey(_T("应用程序向导生成的本地应用程序"));
CString GetProfileString(
LPCTSTR lpszSection,
LPCTSTR lpszEntry,
LPCTSTR lpszDefault = NULL
);
BOOL WriteProfileString( LPCTSTR lpszSection, LPCTSTR lpszEntry, LPCTSTR lpszValue );
我们可以通过他们进行写入和读取注册表文件。。。
LONG WINAPI RegSetValue( __in HKEY hKey, __in_opt LPCTSTR lpSubKey, __in DWORD dwType, __in_opt LPCTSTR lpData, __in DWORD cbData );
LONG WINAPI RegCreateKey( __in HKEY hKey, __in_opt LPCTSTR lpSubKey, __out PHKEY phkResult, );
下面是一个小例子:
HKEY hkey; RegCreateKey(HKEY_LOCAL_MACHINE ,"software//shizhan//admin",&hkey); RegSetValue(hkey,NULL,REG_SZ,"heihei",strlen("heihei"));
LONG WINAPI RegQueryValue( __in HKEY hKey, __in_opt LPCTSTR lpSubKey, __out_opt LPTSTR lpValue, __inout_opt PLONG lpcbValue, );
LONG len; RegQueryValue(HKEY_LOCAL_MACHINE ,"software//shizhan//admin",NULL,&len); char *a=new char[len]; RegQueryValue(HKEY_LOCAL_MACHINE ,"software//shizhan//admin",a,&len); MessageBox(a);
第一次我们将lpValue设置为空,用len获取注册表里面文本的长度,
第二次我们动态申请一个字符数组,用这个数组接受注册表里面的文本内容