freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第6章數(shù)據(jù)和文檔(編輯修改稿)

2025-08-16 12:25 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 t )。 此函數(shù)將文件中指定大小的數(shù)據(jù)讀入指定的緩沖區(qū),并返回向緩沖區(qū)傳輸?shù)淖止?jié)數(shù)。需要說(shuō)明的是,這個(gè)返回值可能小于 nCount,這是因?yàn)榭赡艿竭_(dá)了文件的結(jié)尾。 void Write( const void* lpBuf, UINT nCount )。 此函數(shù)將緩沖區(qū)的數(shù)據(jù)寫(xiě)到文件中。參數(shù) lpBuf用來(lái)指定要寫(xiě)到文件中的數(shù)據(jù)緩沖區(qū)的指針, nCount表示從數(shù)據(jù)緩沖區(qū)傳送的字節(jié)數(shù)。對(duì)于文本文件,每行的換行符也被計(jì)算在內(nèi)。 LONG Seek( LONG lOff, UINT nFrom )。 此函數(shù)用來(lái)定位文件指針的位置,若要定位的位置是有效的,則此函數(shù)將返回從文件開(kāi)始的偏移量。否則,返回值是不定的且激活一個(gè) CFileException對(duì)象。參數(shù) lOff用來(lái)指定文件指針移動(dòng)的字節(jié)數(shù), nFrom表示指針移動(dòng)方式,它可以是 CFile::begin(從文件的開(kāi)始位置)、 CFile::current(從文件的當(dāng)前位置)或 CFile::end(從文件的最后位置,但 lOff必須為負(fù)值才能在文件中定位,否則將超出文件)等。需要說(shuō)明的是,文件剛打開(kāi)時(shí),默認(rèn)的文件指針位置為 0,即文件的開(kāi)始位置。 另外,函數(shù) void SeekToBegin( )和 DWORD SeekToEnd( )分別將文件指針移動(dòng)到文件開(kāi)始和結(jié)尾位置,對(duì)于后者還將返回文件的大小。 CFile類 獲取文件的有關(guān)信息 CFile 還支持獲取文件狀態(tài),包括文件是否存在、創(chuàng)建與修改的日期和時(shí)間、邏輯大小和路徑等。 BOOL GetStatus( CFileStatusamp。 rStatus ) const。 static BOOL PASCAL GetStatus( LPCTSTR lpszFileName, CFileStatusamp。 rStatus )。 若指定文件的狀態(tài)信息成功獲得,該函數(shù)返回 TRUE,否則返回 FALSE。其中,參數(shù) lpszFileName用來(lái)指定一個(gè)文件路徑,這個(gè)路徑可以是相對(duì)的或是絕對(duì)的,但不能是 網(wǎng)絡(luò)文件名。 rStatus用來(lái)存放文件狀態(tài)信息,它是一個(gè) CFileStatus結(jié)構(gòu)類型,該結(jié)構(gòu)具 有下列成員: CTime m_ctime 文件創(chuàng)建日期和時(shí)間 CTime m_mtime 文件最后一次修改日期和時(shí)間 CTime m_atime 文件最后一次訪問(wèn)日期和時(shí)間 LONG m_size 文件大小的字節(jié)數(shù) BYTE m_attribute 文件屬性 char m_szFullName[_MAX_PATH] 文件名 CFile類 需要說(shuō)明的是, static形式的 GetStatus函數(shù)將獲得指定文件名的文件狀態(tài),并將文件名復(fù)制至 m_szFullName中。該函數(shù)僅獲取文件狀態(tài),并沒(méi)有真正打開(kāi)文件,這對(duì)于測(cè)試一個(gè)文件的存在性是非常有用的。例如下面的代碼: CFile theFile。 char* szFileName = c:\\test\\。 BOOL bOpenOK。 CFileStatus status。 if( CFile::GetStatus( szFileName, status ) ) // 該文件已存在,直接打開(kāi) { bOpenOK = ( szFileName, CFile::modeWrite )。 } else // 該文件不存在,需要使用 modeWrite方式創(chuàng)建它 { bOpenOK = ( szFileName, CFile::modeCreate | CFile::modeWrite )。 } CFile類 CFile示例 如圖 ,單擊 [瀏覽 ]按鈕,將彈出文件“打開(kāi)”對(duì)話框,從中選擇一個(gè)文件時(shí),編輯框上方顯示出該文件的路徑名、創(chuàng)建時(shí)間和文件大小,并在編輯框中顯示出該文件的內(nèi)容。 圖 CFile示例運(yùn)行結(jié)果 CFile類 [例 Ex_File] 使用 CFile ( 1)創(chuàng)建一個(gè)默認(rèn)的對(duì)話框應(yīng)用程序 Ex_File。 ( 2)將對(duì)話框的標(biāo)題設(shè)為“使用 CFile”。刪除“ TODO: 在這里設(shè)置對(duì)話控制。”靜態(tài)文本控件和 [取消 ]按鈕,將 [確定 ]按鈕標(biāo)題改為“退出”。 ( 3)打開(kāi)對(duì)話框網(wǎng)格,參看圖 ,添加靜態(tài)文件控件IDC_STATIC_TITLE(選中“垂直居中”和“凹陷”選項(xiàng))、一個(gè)編輯框 IDC_EDIT1(選中“多行”、“水平滾動(dòng)”、“垂直滾動(dòng)”和“自動(dòng)垂直滾動(dòng)”選項(xiàng))和一個(gè)“打開(kāi)”按鈕 IDC_BUTTON_OPEN。 ( 4)打開(kāi) MFC ClassWizard的 Member Variables頁(yè)面,為 IDC_STATIC_TITLE控件添加 Value類型變量 m_strTitle,為 IDC_EDIT1控件添加 Value類型變量m_strContent。 ( 5)再次打開(kāi) MFC ClassWizard,切換到 Messsage Maps頁(yè)面,為CEx_FileDlg類添加按鈕 IDC_BUTTON_OPEN 的 BN_CLICKED消息映射,保留默認(rèn)的映射函數(shù)名,并添加 下列代碼 : ( 6)編譯運(yùn)行并測(cè)試。 文檔模板和字串資源 1. 文檔模板 文檔應(yīng)用程序框架是在程序運(yùn)行時(shí)就開(kāi)始構(gòu)造的,在單文檔應(yīng)用程序(設(shè)為 Ex_SDI)的應(yīng)用程序類 InitInstance函數(shù)中,可以看到這樣的代碼: BOOL CEx_SDIApp::InitInstance() { … CSingleDocTemplate* pDocTemplate。 pDocTemplate = new CSingleDocTemplate( IDR_MAINFRAME, // 資源 ID RUNTIME_CLASS(CEx_SDIDoc), // 文檔類 RUNTIME_CLASS(CMainFrame), // 主框架窗口類 RUNTIME_CLASS(CEx_SDIView))。 // 視圖類 AddDocTemplate(pDocTemplate)。 … return TRUE。 } 類似的,多文檔模板類 CMultiDocTemplate的構(gòu)造函數(shù)也有相同的定義。如下面的代碼(設(shè)為 Ex_MDI): BOOL CEx_MDIApp::InitInstance() { … CMultiDocTemplate* pDocTemplate。 pDocTemplate = new CMultiDocTemplate( IDR_EX_MDITYPE, // 資源 ID RUNTIME_CLASS(CEx_MDIDoc), // 文檔類 RUNTIME_CLASS(CChildFrame), // MDI文檔窗口類 RUNTIME_CLASS(CEx_MDIView))。 // 視圖類 AddDocTemplate(pDocTemplate)。 // 創(chuàng)建主框架窗口 CMainFrame* pMainFrame = new CMainFrame。 if (!pMainFrameLoadFrame(IDR_MAINFRAME)) return FALSE。 m_pMainWnd = pMainFrame。 … return TRUE。 } 2. 文檔模板字串資源 從前面的單文檔模板類可以看出,為了能將菜單、加速鍵、圖標(biāo)等資源加載到應(yīng)用程序框架中,這些資源的標(biāo)識(shí)符都設(shè)為了 IDR_MAINFRAME。事實(shí)上,在 MFC文檔序列化流程(后面會(huì)討論到)中,文檔標(biāo)題和通用文件“打開(kāi)”和“保存”對(duì)話框的過(guò)濾器中文件類型還必需能夠在相關(guān)的資源給予指定,這個(gè)資源就是 文檔模板字串資源 ,它是 String Table(字符串)資源列表中的 IDR_MAINFRAME項(xiàng),其內(nèi)容如下(以單文檔應(yīng)用程序Ex_SDI為例): Ex_SDI\n\nEx_SDI\n\n\\nEx_SDI Document 可以看出, IDR_MAINFRAME所標(biāo)識(shí)的字符串被分成了一些以“ \n”結(jié)尾的子串,這些子串共有 7段,每段都有特定的用途,其含義如表 。 表 文檔模板字符串的含義 IDR_MAINFRAME的子串 串號(hào) 用 途 Ex_SDI\n 0 應(yīng)用程序窗口標(biāo)題 \n 1 文檔根名。對(duì)多文檔應(yīng)用程序來(lái)說(shuō),若在文檔窗口標(biāo)題上顯示“ Sheet1”,則其中的 Sheet就是文檔根名。若該子串為空,則文檔名為默認(rèn)的“無(wú)標(biāo)題” Ex_SDI\n 2 新建文檔的類型名。若有多個(gè)文檔類型,則這個(gè)名稱將出現(xiàn)在“新建”對(duì)話框中。 \n 3 通用對(duì)話框的文件過(guò)濾器正文 \n 4 通用對(duì)話框的文件擴(kuò)展名 \n 5 在注冊(cè)表中登記的文檔類型標(biāo)識(shí) Ex_SDI Document 6 在注冊(cè)表中登記的文檔類型名稱 但對(duì)于 MDI來(lái)說(shuō),上述的字串分別由 IDR_MAINFRAME和 IDR_EX_MDITYPE(若項(xiàng)目名為 Ex_MDI)組成;其中, IDR_MAINFRAME表示窗口標(biāo)題,而 IDR_EX_MDITYPE表示后 6項(xiàng)內(nèi)容。它們的內(nèi)容如下: IDR_MAINFRAME: Ex_MDI圖 Advanced Options對(duì)話框 5036214 IDR_EX_MDITYPE: \nEx_MDI\nEx_MDI\n\n\\nEx_MDI Document 實(shí)際上,文檔模板字串資源內(nèi)容既可直接通 過(guò)上述字串資源編輯器進(jìn)行修改,也可以在文檔 應(yīng)用程序創(chuàng)建向?qū)У牡谒牟街?,單?[高級(jí) ]按鈕, 通過(guò)“高級(jí)選項(xiàng)( Advanced Options)”對(duì)話框 中的“文檔字符模板( Document Template Strings) ”頁(yè)面來(lái)指定,如圖 (以單文檔應(yīng)用程序 Ex_SDI為例)。圖中的數(shù)字表示該項(xiàng)的
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1