最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MFC程序?qū)ξ募奶幚矸椒?/h1>
 更新時間:2014年08月23日 15:11:41   投稿:shichen2014  
這篇文章主要介紹了MFC程序?qū)ξ募奶幚矸椒?需要的朋友可以參考下

對文件的處理是MFC程序設(shè)計中非常常見的應(yīng)用。本文就以實例形式做一簡單敘述。具體方法如下:

1.CFileDialog的應(yīng)用

格式如下:

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

具體參數(shù)解釋如下:

bOpenFileDialog 為TRUE則顯示打開對話框,為FALSE則顯示保存對話文件對話框。
lpszDefExt 指定默認(rèn)的文件擴展名。
lpszFileName 指定默認(rèn)的文件名。
dwFlags 指明一些特定風(fēng)格。
lpszFilter 是最重要的一個參數(shù),它指明可供選擇的文件類型和相應(yīng)的擴展名。參數(shù)格式如:
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第一個參數(shù)為FALSE時,顯示保存對話框,為TRUE時,顯示打開對話框

(2)文件類型說明和擴展名間用 | 分隔,同種類型文件的擴展名間可以用 ; 分割,每種文件類型間用 | 分隔,末尾用 || 指明,否則會造成亂碼

獲取保存的文件名稱:

CString CFileDialog::GetPathName( ) 得到完整的文件名,包括目錄名和擴展名

CString CFileDialog::GetFileName( ) 得到完整的文件名

CString CFileDialog::GetExtName( ) 得到完整的文件擴展名

CString CFileDialog::GetFileTitle ( ) 得到完整的文件名,包括目錄名和擴展名

POSITION CFileDialog::GetStartPosition( ) 對于選擇了多個文件的情況得到第一個文件位置

2.向.CSV文件寫入

由于向.CSV文件中寫入的內(nèi)容打開時是以表格的形式展現(xiàn),所以在大多數(shù)以結(jié)構(gòu)體保存到文件中,以文件的形式查看內(nèi)容時比較常用。

這里需要注意的是:

(1)如果像一般文件那樣寫入,查看文件時很明顯都是以雙字節(jié)存入的,導(dǎo)致查看問題,所以我在這個地方使用CStdioFilel類,最后可以使用WriteString()將字符寫入到文件中

(2)當(dāng)字符中出現(xiàn)中文后,導(dǎo)致中文后面的內(nèi)容全部無法寫入到文件中,這時需要在寫入文件WriteString()之前加一句setlocale( LC_CTYPE, "chs" );

(3)當(dāng)一個表格中字符完成后,需要在字符串后面添加‘,',需要換行時,需要在字符串后面加上‘\r\n';

例如:

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

(4)一般情況下,使用CString將要寫入文件中的內(nèi)容全部保存后,在一起寫入文件;

具體代碼如下:

CString strEx; 
strEx += strTemp;

希望本文所述實例對大家的MFC程序設(shè)計有所幫助。

相關(guān)文章

  • 淺析C++中的多態(tài)與文件操作

    淺析C++中的多態(tài)與文件操作

    多態(tài)是面向?qū)ο缶幊蹋∣OP)的核心概念之一,它允許對象在相同操作下表現(xiàn)出不同的行為,本文主要為大家介紹了C++中多態(tài)與文件操作的相關(guān)知識,希望對大家有所幫助
    2024-04-04
  • 詳解C++循環(huán)創(chuàng)建多級目錄及判斷目錄是否存在的方法

    詳解C++循環(huán)創(chuàng)建多級目錄及判斷目錄是否存在的方法

    這篇文章主要介紹了C++循環(huán)創(chuàng)建多級目錄及判斷目錄是否存在的方法,文中代碼有一個針對各種系統(tǒng)進(jìn)行判斷來加載不同頭文件的方法,需要的朋友可以參考下
    2016-03-03
  • C++高并發(fā)內(nèi)存池的整體設(shè)計和實現(xiàn)思路

    C++高并發(fā)內(nèi)存池的整體設(shè)計和實現(xiàn)思路

    這篇文章主要介紹了C++高并發(fā)內(nèi)存池的整體設(shè)計和實現(xiàn)思路詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-07-07
  • 淺析C++中結(jié)構(gòu)體的定義、初始化和引用

    淺析C++中結(jié)構(gòu)體的定義、初始化和引用

    以下是對C++中結(jié)構(gòu)體的定義、初始化和引用進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下
    2013-09-09
  • 篩選法的C++實現(xiàn)

    篩選法的C++實現(xiàn)

    篩選法又稱篩法,是求不超過自然數(shù)N(N>1)的所有質(zhì)數(shù)的一種方法。據(jù)說是古希臘的埃拉托斯特尼(Eratosthenes,約公元前274~194年)發(fā)明的,又稱埃拉托斯特尼篩子
    2013-10-10
  • C++ Boost PropertyTree示例超詳細(xì)講解

    C++ Boost PropertyTree示例超詳細(xì)講解

    Boost是為C++語言標(biāo)準(zhǔn)庫提供擴展的一些C++程序庫的總稱。Boost庫是一個可移植、提供源代碼的C++庫,作為標(biāo)準(zhǔn)庫的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開發(fā)引擎之一,是為C++語言標(biāo)準(zhǔn)庫提供擴展的一些C++程序庫的總稱
    2022-11-11
  • 一文帶你了解Qt多線程的實現(xiàn)方式

    一文帶你了解Qt多線程的實現(xiàn)方式

    這篇文章主要為大家詳細(xì)介紹了Qt多線程的實現(xiàn)方式的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-01-01
  • C語言實現(xiàn)文件讀寫功能流程

    C語言實現(xiàn)文件讀寫功能流程

    這篇文章主要介紹了C語言實現(xiàn)文件讀寫,文件是一段數(shù)據(jù)的集合,這些數(shù)據(jù)可以是有規(guī)則的,也可以是無序的集合。在stdio.h有一個非常重要的東西,文件指針,每個文件都會在內(nèi)存中開辟一塊空間,用于存放文件的相關(guān)信息
    2022-12-12
  • C++使用遞歸方法求n階勒讓德多項式完整實例

    C++使用遞歸方法求n階勒讓德多項式完整實例

    這篇文章主要介紹了C++使用遞歸方法求n階勒讓德多項式,涉及C++遞歸算法與浮點數(shù)運算的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-05-05
  • C語言實現(xiàn)病例管理系統(tǒng)

    C語言實現(xiàn)病例管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)病例管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01

最新評論

永胜县| 邵武市| 泽普县| 仙游县| 防城港市| 洪湖市| 珠海市| 鸡泽县| 无极县| 依安县| 子长县| 柳河县| 察哈| 潞西市| 扶余县| 阳朔县| 中阳县| 阳东县| 五河县| 宁都县| 绵阳市| 惠东县| 昭通市| 赣榆县| 巨野县| 库车县| 四平市| 饶阳县| 林芝县| 乃东县| 嘉善县| 天峻县| 卢龙县| 宝丰县| 酒泉市| 青铜峡市| 阿尔山市| 手游| 东乡族自治县| 沁源县| 崇仁县|