MFC文件打开和保存
生活随笔
收集整理的這篇文章主要介紹了
MFC文件打开和保存
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近寫了一個MFC串口程序,涉及文件發送和保存的功能。
1.打開TXT文件
1 void CportDlg::OnBnClickedButtonOpenfile() //打開文件并顯示內容 2 { 3 CFileDialog opendlg(true, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, (LPCTSTR)_TEXT("TXT Files (*.txt)|*.txt|All Files (*.*)|*.*||"), NULL); 4 if (opendlg.DoModal() == IDOK){ //顯示對話框并允許用戶進行選擇。 5 CString filepathname = opendlg.GetPathName(); //文件路徑 6 m_file.SetWindowTextW(filepathname); //在編輯框顯示文件路徑 7 CStdioFile fsend; CString s_one; 8 if (fsend.Open(filepathname, CFile::typeText | CFile::modeRead)) //只讀模式打開txt文件 9 { 10 while (fsend.ReadString(s_one)) { //逐行讀取文件內容 11 m_send += s_one; m_send += TEXT("\r\n"); 12 m_EditSend.SetWindowTextW(m_send); //將讀取的文本顯示在編輯框 13 } 14 fsend.Close(); 15 } 16 } 17 else return; 18 }2.接收區的數據保存到TXT文件
1 void CportDlg::OnBnClickedButtonSavefile() //保存文件為TXT格式 2 { 3 CFileDialog savedlg(false, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, (LPCTSTR)_TEXT("TXT Files (*.txt)|*.txt|All Files (*.*)|*.*||"), NULL); 4 if (savedlg.DoModal() == IDOK){ //顯示對話框并允許用戶進行選擇。 5 CFile fsave(savedlg.GetPathName(), CFile::modeCreate | CFile::modeReadWrite); 6 //CString轉char[] 7 static char str[] = ""; int count = m_receive.GetLength(); 8 for (int i = 0; i < count; i++) 9 str[i] = m_receive[i]; 10 11 fsave.Write(str, strlen(str)); //寫入文件 12 //fsave.Write(m_receive, m_receive.GetLength() * 2); //讀取CString信息長度,必須*2 13 fsave.Flush(); //立即寫入,不緩沖 14 fsave.Close(); //文件操作結束關閉 15 } 16 else return; 17 }以CString類型保存的數據文件,在MFC串口打開文件發生信息丟失,所以將CString改成char[]類型。
轉載于:https://www.cnblogs.com/Ivy-yang/p/tuzi-mfc_file.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的MFC文件打开和保存的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java实现线程间通信的四种方式
- 下一篇: iView 实现可编辑表格