天天看點

MFC檔案操作

一、響應控件或菜單的指令消息

ON_COMMAND(IDC_BTN_FILE_SAVE, OnFileSave) ;

二、聲明消息映射函數

afx_msg void OnFileSave();

應用程式架構産生的消息映射函數

其中 afx_msg為消息标志,它向系統聲明:有消息映射到函數實作體;

三、将資料寫入文本檔案

void 某類::OnFileSave()
         {
                BOOL isOpen=FALSE;                 //是否打開(否則為儲存) 
                CString defaultDir = L"E:\\FileTest";   //預設打開的檔案路徑  
                CString fileName = L"test.doc";         //預設打開的檔案名
                CString filter = L"txt文本(*.txt)|*.txt||"; ;   //檔案過慮的類型   
                //儲存檔案對話框
                CFileDialog openFileDlg(isOpen, defaultDir, fileName, 
                OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, filter, NULL);                                  
                 INT_PTR result = openFileDlg.DoModal(); 
                 CString filePath;
                 if(result == IDOK)
                 {  
                       filePath = openFileDlg.GetPathName();  
                       FILE *fp;
		       fp=fopen((CT2A)filePath,"w+");//CString轉為String                              
                       //格式化寫入文本檔案
                        fprintf(fp,"#編号 類型   測量   x1   y1   z1	x2   y2   z2	x3   y3   z3\n");
                                資料處理略(見下面執行個體)……                                                                fprintf(fp,"%d\tlength\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\n",           codeno,distance,x1,y1,z1,x2,y2,z2,0.0f,0.0f,0.0f);                      
                        fprintf(fp,"\n");     
                        fclose(fp);          //寫入檔案完成後關閉檔案              
                 }      
             }           

繼續閱讀