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

            CString類成員

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

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

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

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

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

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

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

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

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

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

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

            導(dǎo)航

            統(tǒng)計

            留言簿(13)

            隨筆分類(287)

            隨筆檔案(289)

            漏洞

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            亚洲国产精品成人久久蜜臀| 久久精品国产91久久麻豆自制| 久久精品夜色噜噜亚洲A∨| 亚洲国产成人久久精品影视| 天天综合久久久网| 合区精品久久久中文字幕一区| 久久天天躁夜夜躁狠狠| 国产精品禁18久久久夂久| 岛国搬运www久久| 少妇精品久久久一区二区三区| 一级做a爱片久久毛片| 国产精品久久久久蜜芽| 国产叼嘿久久精品久久| 日韩精品久久无码人妻中文字幕| 久久精品黄AA片一区二区三区| 国产视频久久| 国产欧美一区二区久久| 精品熟女少妇AV免费久久| 99久久国产免费福利| 久久99国产乱子伦精品免费| 亚洲国产精品嫩草影院久久| 91麻精品国产91久久久久 | 国内精品久久久久久麻豆 | 久久精品国产亚洲av水果派| 久久久久亚洲av成人无码电影| 久久久久久无码Av成人影院| 亚州日韩精品专区久久久| 国产精品成人久久久久久久| 精品久久8x国产免费观看| 久久精品国产亚洲AV蜜臀色欲| 久久国产热这里只有精品| 蜜桃麻豆www久久| 国产精品天天影视久久综合网| 亚洲精品国产美女久久久| 久久久久免费精品国产| 中文成人无码精品久久久不卡| 欧美性大战久久久久久| 无夜精品久久久久久| 久久久久亚洲AV无码专区首JN| 亚洲精品第一综合99久久| 久久久久久伊人高潮影院|