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

            CString類成員

            構造
            CString 以各種方法構造一個CString對象

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

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

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

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

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

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

            歸檔/存儲
            operator << 把一個CString對象插入一個存檔或轉儲的環境中
            operator >> 從一個存檔中提取一個CString對象

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

            Windows專用
            AllocSysString 由CString數據分配一個BSTR
            SetSysString 使用CString對象中的數據來設置一個已存在的BSTR
            LoadString 從一個Windows資源中加載一個已經存在的CString對象
            AnsiToOem 實現由ANSI字符集到OEM字符集的對應轉換
            OemToAnsi 實現由OEM字符集到ANSI字符集的對應轉換

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

            導航

            統計

            留言簿(13)

            隨筆分類(287)

            隨筆檔案(289)

            漏洞

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            欧美国产精品久久高清| 久久天天婷婷五月俺也去| 久久人人爽人人人人片av| 人妻无码αv中文字幕久久 | 久久婷婷是五月综合色狠狠| 久久精品中文字幕有码| 久久成人精品| 久久精品免费一区二区| 久久久国产乱子伦精品作者 | 久久国产免费直播| 久久久久亚洲AV无码永不| 91精品无码久久久久久五月天| 久久艹国产| 欧美亚洲另类久久综合| 狠狠综合久久AV一区二区三区 | 97久久超碰成人精品网站| 久久国产精品-国产精品| 久久妇女高潮几次MBA| 久久免费大片| 亚洲欧美久久久久9999| 久久精品国产亚洲5555| 久久久久久久尹人综合网亚洲 | 麻豆av久久av盛宴av| 品成人欧美大片久久国产欧美... 品成人欧美大片久久国产欧美 | 国产99久久九九精品无码| 久久97精品久久久久久久不卡| 伊人久久精品影院| 亚洲国产成人久久精品99 | 精品国产乱码久久久久久呢| 久久久久99精品成人片三人毛片| 青草影院天堂男人久久| 狠狠色综合网站久久久久久久| 欧美久久综合性欧美| 久久婷婷五月综合成人D啪| 久久久久久精品免费看SSS| 99久久国产精品免费一区二区| 狠狠综合久久综合88亚洲| 久久精品国产亚洲一区二区| 久久婷婷五月综合成人D啪| 日本福利片国产午夜久久| 国产成年无码久久久免费|