• <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 小默 閱讀(1424) 評論(0)  編輯 收藏 引用 所屬分類: Language

            導航

            統計

            留言簿(13)

            隨筆分類(287)

            隨筆檔案(289)

            漏洞

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            久久久精品久久久久影院| 国产精品一区二区久久不卡| 免费观看久久精彩视频 | 久久被窝电影亚洲爽爽爽| 77777亚洲午夜久久多喷| 久久国产福利免费| 亚洲乱码精品久久久久..| 久久久久免费精品国产| 2019久久久高清456| 97久久精品无码一区二区天美| 久久91亚洲人成电影网站| 亚洲国产精品成人久久蜜臀 | 日韩欧美亚洲综合久久影院Ds| 2021久久精品免费观看| 大蕉久久伊人中文字幕| 亚洲中文字幕无码久久2020 | 一本久道久久综合狠狠躁AV| 国产精品美女久久久久| 久久久久无码专区亚洲av| 国产精品无码久久久久久| 精品久久久久久久久免费影院| 久久久国产精品网站| 久久永久免费人妻精品下载| 国产成人精品久久亚洲| 2021久久国自产拍精品| 亚洲AV无码一区东京热久久| 久久久久亚洲AV综合波多野结衣| 日韩人妻无码精品久久免费一 | 久久亚洲AV成人出白浆无码国产 | jizzjizz国产精品久久| 久久久久亚洲av综合波多野结衣| 999久久久免费国产精品播放| 日韩av无码久久精品免费| 香蕉久久永久视频| 久久男人中文字幕资源站| 99久久综合国产精品二区| 久久久久久a亚洲欧洲aⅴ | 久久婷婷人人澡人人| 久久久久一本毛久久久| 久久精品无码av| 日韩精品无码久久一区二区三|