欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MFC程序對文件的處理方法

 更新時間:2014年08月23日 15:11:41   投稿:shichen2014  
這篇文章主要介紹了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)如果像一般文件那樣寫入,查看文件時很明顯都是以雙字節(jié)存入的,導致查看問題,所以我在這個地方使用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程序設計有所幫助。

相關文章

  • C語言動態(tài)內存管理malloc柔性數組示例詳解

    C語言動態(tài)內存管理malloc柔性數組示例詳解

    這篇文章主要為大家介紹了C語言動態(tài)內存管理malloc柔性數組示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • C語言模擬實現C++的繼承與多態(tài)示例

    C語言模擬實現C++的繼承與多態(tài)示例

    本篇文章主要介紹了C語言模擬實現C++的繼承與多態(tài)示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • C語言實現冒泡排序算法

    C語言實現冒泡排序算法

    冒泡排序(Bubble Sort),是一種計算機科學領域的較簡單的排序算法。它重復地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重復地進行直到沒有再需要交換,也就是說該數列已經排序完成。
    2015-03-03
  • C++使用easyX庫實現三星環(huán)繞效果流程詳解

    C++使用easyX庫實現三星環(huán)繞效果流程詳解

    EasyX是針對C/C++的圖形庫,可以幫助使用C/C++語言的程序員快速上手圖形和游戲編程。這篇文章主要介紹了C++使用easyX庫實現三星環(huán)繞效果,需要的可以參考一下
    2022-10-10
  • C語言數據存儲歸類介紹

    C語言數據存儲歸類介紹

    使用編程語言進行編程時,需要用到各種變量來存儲各種信息。變量保留的是它所存儲的值的內存位置。這意味著,當您創(chuàng)建一個變量時,就會在內存中保留一些空間。您可能需要存儲各種數據類型的信息,操作系統(tǒng)會根據變量的數據類型,來分配內存和決定在保留內存中存儲什么
    2022-08-08
  • FFmpeg實現將編碼后數據保存成mp4

    FFmpeg實現將編碼后數據保存成mp4

    這篇文章主要為大家詳細介紹了FFmpeg如何實現將編碼后數據保存成mp4,即從內存塊中獲取原始數據,然后依次進行解碼、編碼、最后保存成mp4視頻文件,感興趣的可以了解一下
    2023-08-08
  • 解析C/C++指針、函數、結構體、共用體

    解析C/C++指針、函數、結構體、共用體

    這篇文章主要介紹了C/C++指針、函數、結構體、共用體的相關知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01
  • C語言#define定義宏的使用詳解

    C語言#define定義宏的使用詳解

    #define?機制包括了一個規(guī)定,允許把參數替換到文本中,這種實現通常稱為宏(macro)或定義宏(define?macro)。本文就來和大家聊聊宏的使用,需要的可以參考一下
    2022-10-10
  • c++10進制轉換為任意2-16進制數字的實例

    c++10進制轉換為任意2-16進制數字的實例

    下面小編就為大家?guī)硪黄猚++10進制轉換為任意2-16進制數字的實例。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 你知道如何自定義sort函數中的比較函數

    你知道如何自定義sort函數中的比較函數

    這篇文章主要介紹了如何自定義sort函數中的比較函數,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評論