MFCベースでファイルを保存して開く

1339 ワード

  • は、fprintfフォーマット書き込みファイル
  • などのファイルを、C言語でFILE構造体で操作する.
  • はC++でCStdioFileクラスを利用しており、CFIleクラスに継承されている.
    void CTestDlgDlg::OnBnClickedSave()
    {
    	CStdioFile file;				//   CFile 
    	BOOL isOpen = FALSE;			//    (     )  
    	CString defaultDir = L"";		//           
    	CString fileName = L"";         //          
    	CString filter = L"   (*.txt; *.ppt; *.xls)|*.txt;*.ppt;*.xls||";   //         
    	CFileDialog openFileDlg(isOpen, defaultDir, fileName, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, filter, NULL);//  CFileDialog               。
    	INT_PTR result = openFileDlg.DoModal();//      ,       ,      。
    	CString filePath = defaultDir + "\\" + fileName;
    	CString str;
    	int *p = (int*)malloc(100 * sizeof(int));
    	for (int i = 0; i < 100; i++)
    	{
    		p[i] = i;
    	}
    	if (result == IDOK) {
    		filePath = openFileDlg.GetPathName();//         
    		file.Open(filePath, CFile::modeCreate | CFile::modeWrite);	
    		for (int i = 0; i < 100; i++)
    		{
    			str.Format(_T("%d
    "),p[i]); file.WriteString(str); } file.Flush(); file.Close(); } CWnd::SetDlgItemTextW(IDC_EDIT_SRC, filePath); //_T("") L"" 。 Unicode , // Windows ANSI UNICODE, , , 。 , 。 //_L , UNICODE 。 }