a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

MFC程序對文件的處理方法

2020-01-26 15:22:20
字體:
來源:轉載
供稿:網友

對文件的處理是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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 自拍偷拍亚洲视频 | 91精品国产乱码久久久久久久久 | 娇妻被朋友调教成玩物 | 91久久看片| 91免费看 | 亚洲欧美日韩精品久久亚洲区 | xxxx欧美| 综合 欧美 亚洲日本 | 国产精品一区二区吃奶在线观看 | 日韩第1页 | 黄色av网页| www在线视频 | 亚洲视频 欧美视频 | 国产黄色在线播放 | 久久久久久高潮国产精品视 | 午夜成人在线视频 | 色偷偷噜噜噜亚洲男人的天堂 | 一区二区三区免费看 | 欧美日韩高清 | 视频在线一区 | 国产成人啪午夜精品网站男同 | av免费在线观看网址 | 亚洲成人一 | 一区二区三区四区视频 | 一区二区不卡 | 欧美一级大片免费 | 久久av资源网 | 在线观看精品自拍私拍 | 欧美在线观看网站 | 久久黄色片 | 中文字幕在线亚洲 | 欧美日韩亚洲天堂 | 日韩欧美国产精品综合嫩v 久草久草久草 | 成人在线播放 | 欧美激情精品 | 伊人欧美在线 | 妞干网免费 | 五月婷婷色 | 国产欧美久久一区二区三区 | 亚洲毛片在线观看 | 国产欧美日韩综合精品一区二区 |