程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> MFC法式對文件的處置辦法

MFC法式對文件的處置辦法

編輯:關於C++

MFC法式對文件的處置辦法。本站提示廣大學習愛好者:(MFC法式對文件的處置辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是MFC法式對文件的處置辦法正文


對文件的處置是MFC法式設計中異常罕見的運用。本文就以實例情勢做一簡略論述。詳細辦法以下:

1.CFileDialog的運用

格局以下:

CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL ); 

詳細參數說明以下:

bOpenFileDialog 為TRUE則顯示翻開對話框,為FALSE則顯示保留對話文件對話框。
lpszDefExt 指定默許的文件擴大名。
lpszFileName 指定默許的文件名。
dwFlags 指明一些特定作風。
lpszFilter 是最主要的一個參數,它指明可供選擇的文件類型和響應的擴大名。參數格局如:
pParentWnd 為父窗口指針。

詳細代碼以下:

const int INT_MAX_FILE_NUM = 1; 
TCHAR szFileFilter[] = _T("Date File(*.csv)|*.csv|");
TCHAR *pszFileNameBuf = new TCHAR[INT_MAX_FILE_NUM * _MAX_PATH];

CFileDialog dlgOpenFile(FALSE, _T("csv"), NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFileFilter, this);
::memset(pszFileNameBuf, 0, INT_MAX_FILE_NUM * _MAX_PATH * sizeof(TCHAR));
dlgOpenFile.m_ofn.nMaxFile = INT_MAX_FILE_NUM * _MAX_PATH;    
dlgOpenFile.m_ofn.lpstrFile = pszFileNameBuf;    
dlgOpenFile.m_ofn.lpstrFile[0] = NULL;
if(dlgOpenFile.domodal == IDOK)
{
  //獲得文件名
}

這裡須要留意的是:

(1)DlgOpenFile第一個參數為FALSE時,顯示保留對話框,為TRUE時,顯示翻開對話框

(2)文件類型解釋和擴大名間用 | 分隔,同品種型文件的擴大名間可以用 ; 朋分,每種文件類型間用 | 分隔,末尾用 || 指明,不然會形成亂碼

獲得保留的文件稱號:

CString CFileDialog::GetPathName( ) 獲得完全的文件名,包含目次名和擴大名

CString CFileDialog::GetFileName( ) 獲得完全的文件名

CString CFileDialog::GetExtName( ) 獲得完全的文件擴大名

CString CFileDialog::GetFileTitle ( ) 獲得完全的文件名,包含目次名和擴大名

POSITION CFileDialog::GetStartPosition( ) 關於選擇了多個文件的情形獲得第一個文件地位

2.向.CSV文件寫入

因為向.CSV文件中寫入的內容翻開時是以表格的情勢展示,所以在年夜多半以構造體保留到文件中,以文件的情勢檢查內容時比擬經常使用。

這裡須要留意的是:

(1)假如像普通文件那樣寫入,檢查文件時很顯著都是以雙字節存入的,招致檢查成績,所以我在這個處所應用CStdioFilel類,最初可使用WriteString()將字符寫入到文件中

(2)當字符中湧現中文後,招致中文前面的內容全體沒法寫入到文件中,這時候須要在寫入文件WriteString()之前加一句setlocale( LC_CTYPE, "chs" );

(3)當一個表格中字符完成後,須要在字符串前面添加‘,',須要換行時,須要在字符串前面加上‘\r\n';

例如:

strTemp.Format(_T("%s,"),lvcol.pszText);
strTemp.Format(_T("%s\r\n"),lvcol.pszText);

(4)普通情形下,應用CString將要寫入文件中的內容全體保留後,在一路寫入文件;

詳細代碼以下:

CString strEx; 
strEx += strTemp;

願望本文所述實例對年夜家的MFC法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved