• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            小默

            [zz]MFC - CString類

            CString沒有基類。
            一個(gè)CString對(duì)象由可變長(zhǎng)度的一隊(duì)字符組成。CString使用類似于Basic的語(yǔ)法提供函數(shù)和操作符。連接和比較操作符以及簡(jiǎn)化的內(nèi)存管理使CString對(duì)象比普通字符串?dāng)?shù)組容易使用。
            CString是基于TCHAR數(shù)據(jù)類型的對(duì)象。如果在你的程序中定義了符號(hào)_UNICODE,則TCHAR被定義為類型wchar_t,即16位字符類型;否則,TCHAR被定義為char,即8位字符類型。在UNICODE方式下,CString對(duì)象由16位字符組成。非UNICODE方式下,CString對(duì)象由8位字符組成。
            當(dāng)不使用_UNICODE時(shí),CString是多字節(jié)字符集(MBCS,也被認(rèn)為是雙字節(jié)字符集,DBCS)。注意,對(duì)于MBCS字符串,CString仍然基于8位字符來計(jì)算,返回,以及處理字符串,并且你的應(yīng)用程序必須自己解釋MBCS的開始和結(jié)束字節(jié)。
            CString對(duì)象還具有下列特征:
            · CString可作為連接操作的結(jié)果而增大。
            · CString對(duì)象遵循“值語(yǔ)義”。應(yīng)將CString看作是一個(gè)真實(shí)的字符串而不是指向字符串的指針
            · 你可以使用CString對(duì)象任意替換const char*和LPCTSTR函數(shù)參數(shù)。
            · 轉(zhuǎn)換操作符使得直接訪問該字符串的字符就像訪問一個(gè)只讀字符(C-風(fēng)格的字符)數(shù)組一樣。
            提示:如果可能的話,應(yīng)在框架中而不是堆中分配這個(gè)CString對(duì)象。這可以節(jié)省內(nèi)存并簡(jiǎn)化參數(shù)的傳遞。
            CString允許兩個(gè)具有相同值的字符串共享相同的緩沖空間,這有助于你節(jié)省內(nèi)存空間。但是,如果你初始直接改變?cè)摼彌_的內(nèi)容(不使用MFC),則有可能在無意中改變了兩個(gè)字符串。CString提供了兩個(gè)成員函數(shù)CString::LockBuffer和CString::UnlockBuffer來幫助你保護(hù)你的數(shù)據(jù)。當(dāng)你調(diào)用LockBuffer時(shí),你就創(chuàng)建了一個(gè)字符串的一個(gè)拷貝,然后將引用計(jì)數(shù)設(shè)置為-1,這就“加鎖”了該緩沖區(qū)。當(dāng)緩沖區(qū)被加鎖時(shí),就沒有其它的字符串可以引用該字符串中的數(shù)據(jù),被加鎖的字符串也不能引用其它字符串的數(shù)據(jù)。通過加鎖該緩沖區(qū)內(nèi)的字符串,就可以保證該字符串對(duì)數(shù)據(jù)的持續(xù)獨(dú)占。當(dāng)你使用完數(shù)據(jù)后,調(diào)用UnlockBuffer來將引用計(jì)數(shù)恢復(fù)為1。
            更多的信息,參見“Visual C++程序員指南”中的“MFC字符串”和“字符串:Unicode和多字節(jié)字符集(MBCS)支持”,以及“Microsoft Visual C++庫(kù)參考”中的“Microsoft Visual C++ 6.0運(yùn)行庫(kù)參考”。
            #include <afx.h>

            CString類成員

            構(gòu)造
            CString 以各種方法構(gòu)造一個(gè)CString對(duì)象

            字符串?dāng)?shù)組
            GetLength 返回CString對(duì)象中的字符數(shù)。對(duì)多字節(jié)字符,按8位字符計(jì)算;即在一個(gè)多字節(jié)字符中一個(gè)開始和結(jié)束字節(jié)算作兩個(gè)字符
            IsEmpty 測(cè)試一個(gè)CString對(duì)象中是否不含有字符
            Empty 強(qiáng)制一個(gè)字符串的長(zhǎng)度為0
            GetAt 返回在給定位置的字符
            operator [] 返回在給定位置的字符--它是代替GetAt的操作符
            SetAt 設(shè)置給定位置上的字符
            operator LPCTSTR 像訪問一個(gè)C風(fēng)格的字符串一樣,直接訪問保存在一個(gè)CString對(duì)象中的字符

            分配/串聯(lián)
            operator = 給CString對(duì)象賦一個(gè)新值
            operator + 連接兩個(gè)字符串并返回一個(gè)新字符串
            operator += 把一個(gè)新字符串連接到一個(gè)已經(jīng)存在的字符串的末端

            比較
            operator 比較操作符 比較操作符(大小寫敏感)
            Compare 比較兩個(gè)字符串(大小寫敏感)
            CompareNoCase 比較兩個(gè)字符串(不區(qū)分大小寫)
            Collate 比較兩個(gè)字符串(大小寫敏感,使用現(xiàn)場(chǎng)特別信息)
            CollateNoCase 比較兩個(gè)字符串(不區(qū)分大小寫,使用現(xiàn)場(chǎng)特別信息)

            提取
            Mid 提取一個(gè)字符串的中間一部分(類似于BASIC的MID$函數(shù))
            Left 提取一個(gè)字符串的左邊一部分(類似于BASIC的LEFT$函數(shù))
            Right 提取一個(gè)字符串的右邊一部分(類似于BASIC的RIGHT$函數(shù))
            SpanIncluding 提取一個(gè)字符串,該子字符串中僅含有某一字符集合中的字符。
            SpanExcluding 提取一個(gè)字符串,該子字符串中不含有某一字符集合中的字符。

            其他轉(zhuǎn)換
            MakeUpper 將字符串中的所有字符轉(zhuǎn)換為大寫字符
            MakeLower 將字符串中的所有字符轉(zhuǎn)換為小寫字符
            MakeReverse 將字符串中的字符以倒序排列
            Replace 用其它字符替換指定的字符
            Remove 從一個(gè)字符串中移走指定的字符
            Insert 在字符串中的給定索引處插入一個(gè)字符或一個(gè)子字符串
            Delete 從一個(gè)字符串中刪除一個(gè)或多個(gè)字符
            Format 像sprintf函數(shù)一樣格式化該字符串
            FormatV 像vprintf函數(shù)一樣格式化該字符串
            TrimLeft 將字符串中前面的空格整理出字符串
            TrimRight 將字符串中結(jié)尾的空格整理出字符串
            FormatMessage 格式化一個(gè)消息字符串

            搜索
            Find 在一個(gè)較大的字符串中查找字符或子字符串
            ReverseFind 在一個(gè)較大的字符串中從末端開始查找某個(gè)字符
            FindOneOf 查找與某個(gè)字符集合中的字符相匹配的第一個(gè)字符

            歸檔/存儲(chǔ)
            operator << 把一個(gè)CString對(duì)象插入一個(gè)存檔或轉(zhuǎn)儲(chǔ)的環(huán)境中
            operator >> 從一個(gè)存檔中提取一個(gè)CString對(duì)象

            緩沖區(qū)訪問
            GetBuffer 返回一個(gè)指向CString對(duì)象的指針
            GetBufferSetLength 返回一個(gè)指向CString對(duì)象的指針,字符串被截?cái)酁橹付ǖ拈L(zhǎng)度
            ReleaseBuffer 釋放對(duì)GetBuffer所返回的緩沖區(qū)的控制權(quán)
            FreeExtra 通過釋放原先為此字符串分配的額外內(nèi)存來刪除此字符串對(duì)象的額外開銷
            LockBuffer 使引用計(jì)數(shù)無效并保護(hù)緩沖區(qū)內(nèi)的數(shù)據(jù)
            UnlockBuffer 使引用計(jì)數(shù)有效并釋放緩沖區(qū)中的數(shù)據(jù)

            Windows專用
            AllocSysString 由CString數(shù)據(jù)分配一個(gè)BSTR
            SetSysString 使用CString對(duì)象中的數(shù)據(jù)來設(shè)置一個(gè)已存在的BSTR
            LoadString 從一個(gè)Windows資源中加載一個(gè)已經(jīng)存在的CString對(duì)象
            AnsiToOem 實(shí)現(xiàn)由ANSI字符集到OEM字符集的對(duì)應(yīng)轉(zhuǎn)換
            OemToAnsi 實(shí)現(xiàn)由OEM字符集到ANSI字符集的對(duì)應(yīng)轉(zhuǎn)換

            posted on 2009-10-23 16:07 小默 閱讀(1427) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Language

            導(dǎo)航

            統(tǒng)計(jì)

            留言簿(13)

            隨筆分類(287)

            隨筆檔案(289)

            漏洞

            搜索

            積分與排名

            最新評(píng)論

            閱讀排行榜

            久久九九亚洲精品| 久久久久亚洲精品无码网址| 精品久久久久久久国产潘金莲| 午夜精品久久久久久影视777| 97精品依人久久久大香线蕉97| 久久久久高潮毛片免费全部播放 | 久久亚洲国产精品五月天婷| 国产精品久久久久久久人人看| 国产精品禁18久久久夂久| 久久久精品人妻无码专区不卡| 久久无码AV一区二区三区| 精品久久久久中文字幕日本| 久久精品一区二区影院| 久久综合精品国产二区无码| 久久性生大片免费观看性| 国产亚洲精久久久久久无码| 亚洲国产日韩欧美久久| 欧美精品一区二区精品久久| 中文字幕日本人妻久久久免费| 久久se精品一区精品二区国产| 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | 久久人做人爽一区二区三区 | 2021久久精品国产99国产精品| 久久精品国产只有精品66| 91久久精品91久久性色| 亚洲AV无码久久寂寞少妇| 久久久久久午夜精品| 久久免费大片| 久久er国产精品免费观看8| 91亚洲国产成人久久精品| 97精品国产91久久久久久| 一本色道久久88精品综合| 久久精品免费全国观看国产| 久久无码AV中文出轨人妻 | 国产精品99久久久精品无码| 久久最新免费视频| 一本一本久久a久久精品综合麻豆| 久久久久亚洲AV无码专区网站 | 久久午夜无码鲁丝片秋霞| 久久天天躁狠狠躁夜夜2020一| 久久精品一本到99热免费|