• <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>

            CString 成員函數用法大全

            CString的構造函數
            CString( );
            例:CString csStr;

            CString( const CString& stringSrc );
            例:CString csStr("ABCDEF中文123456");
                CString csStr2(csStr);

            CString( TCHAR ch, int nRepeat = 1 );
            例:CString csStr('a',5);
            //csStr="aaaaa"

            CString( LPCTSTR lpch, int nLength );
            例:CString csStr("abcdef",3);
            //csStr="abc"

            CString( LPCWSTR lpsz );
            例:wchar_t s[]=L"abcdef";
                CString csStr(s);
            //csStr=L"abcdef"

            CString( const unsigned char* psz );
            例:const unsigned char s[]="abcdef";
                const unsigned char* sp=s;
                CString csStr(sp);
            //csStr="abcdef"

            CString( LPCSTR lpsz );
            例:CString csStr("abcdef");
            //csStr="abcdef"

            int GetLength( ) const;
            返回字符串的長度,不包含結尾的空字符。
            例:csStr="ABCDEF中文123456";
                printf("%d",csStr.GetLength());       //16

            void MakeReverse( );
            顛倒字符串的順序
            例:csStr="ABCDEF中文123456";
                csStr.MakeReverse();
                cout<<csStr;                  //654321文中FEDCBA

            void MakeUpper( );
            將小寫字母轉換為大寫字母
            例:csStr="abcdef中文123456";
                csStr.MakeUpper();
                cout<<csStr;                  //ABCDEF中文123456

            void MakeLower( );
            將大寫字母轉換為小寫字母
            例:csStr="ABCDEF中文123456";
                csStr.MakeLower();
                cout<<csStr;                  //abcdef中文123456

            int Compare( LPCTSTR lpsz ) const;
            區分大小寫比較兩個字符串,相等時返回0,大于時返回1,小于時返回-1
            例:csStr="abcdef中文123456";
                csStr2="ABCDEF中文123456";
                cout<<csStr.CompareNoCase(csStr2);             //0

            int CompareNoCase( LPCTSTR lpsz ) const;
            不區分大小寫比較兩個字符串,相等時返回0,大于時返回1,小于時返回-1
            例:csStr="abcdef中文123456";
                csStr2="ABCDEF中文123456";
                cout<<csStr.CompareNoCase(csStr2);             //-1

            int Delete( int nIndex, int nCount = 1 )
            刪除字符,刪除從下標nIndex開始的nCount個字符
            例:csStr="ABCDEF";
                csStr.Delete(2,3);
                cout<<csStr;              // ABF
            //當nIndex過大,超出對像所在內存區域時,函數沒有任何操作。
            //當nIndex為負數時,從第一個字符開始刪除。
            //當nCount過大,導致刪除字符超出對像所在內存區域時,會發生無法預料的結果。
            //當nCount為負數時,函數沒有任何操作。


            int Insert( int nIndex, TCHAR ch )
            int Insert( int nIndex, LPCTSTR pstr )

            在下標為nIndex的位置,插入字符或字符串。返回插入后對象的長度
            例:csStr="abc";
                csStr.Insert(2,'x');
                cout<<csStr;                     //abxc
                csStr="abc";
                csStr.Insert(2,"xyz");
                cout<<csStr;                     //abxyzc
            //當nIndex為負數時,插入在對象開頭
            //當nIndex超出對象末尾時,插入在對象末尾


            int Remove( TCHAR ch );
            移除對象內的指定字符。返回移除的數目
            例:csStr="aabbaacc";
                csStr.Remove('a');
                cout<<csStr;                     //bbcc

            int Replace( TCHAR chOld, TCHAR chNew );
            int Replace( LPCTSTR lpszOld, LPCTSTR lpszNew );

            替換字串
            例:csStr="abcdef";
                csStr.Replace('a','x');
                cout<<csStr;                    //xbcdef
                csStr="abcdef";
                csStr.Replace("abc","xyz");
                cout<<csStr;                    //xyzdef

            void TrimLeft( );
            void TrimLeft( TCHAR chTarget );
            void TrimLeft( LPCTSTR lpszTargets );

            從左刪除字符,被刪的字符與chTarget或lpszTargets匹配,一直刪到第一個不匹配的字符為止
            例:csStr="aaabaacdef";
                csStr.TrimLeft('a');
                cout<<csStr;                //baacdef
                csStr="aaabaacdef";
                csStr.TrimLeft("ab");
                cout<<csStr;                //cdef
            //無參數時刪除空格

            void TrimRight( );
            void TrimRight( TCHAR chTarget );
            void TrimRight( LPCTSTR lpszTargets );

            從右刪除字符,被刪的字符與chTarget或lpszTargets匹配,一直刪到第一個不匹配的字符為止
            例:csStr="abcdeaafaaa";
                csStr.TrimRight('a');
                cout<<csStr;               //abcdeaaf
                csStr="abcdeaafaaa";
                csStr.TrimRight("fa");
                cout<<csStr;                //abcde
            //無參數時刪除空格


            void Empty( );
            清空
            例:csStr="abcdef";
                csStr.Empty();
                printf("%d",csStr.GetLength());    //0

            BOOL IsEmpty( ) const;
            測試對象是否為空,為空時返回零,不為空時返回非零
            例:csStr="abc";
                cout<<csStr.IsEmpty();         //0;
                csStr.Empty();
                cout<<csStr.IsEmpty();         //1;

            int Find( TCHAR ch ) const;
            int Find( LPCTSTR lpszSub ) const;
            int Find( TCHAR ch, int nStart ) const;
            int Find( LPCTSTR pstr, int nStart ) const;

            查找字串,nStart為開始查找的位置。未找到匹配時返回-1,否則返回字串的開始位置
            例:csStr="abcdef";
                cout<<csStr.Find('b');       //1
                cout<<csStr.Find("de");      //3
                cout<<csStr.Find('b',3);     //-1
                cout<<csStr.Find('b',0);     //1
                cout<<csStr.Find("de",4);    //-1
                cout<<csStr.Find("de",0);    //3
            //當nStart超出對象末尾時,返回-1。
            //當nStart為負數時,返回-1。


            int FindOneOf( LPCTSTR lpszCharSet ) const;
            查找lpszCharSet中任意一個字符在CString對象中的匹配位置。未找到時返回-1,否則返回字串的開始位置
            例:csStr="abcdef";
                cout<<csStr.FindOneOf("cxy");       //2

            CString SpanExcluding( LPCTSTR lpszCharSet ) const;
            返回對象中與lpszCharSet中任意匹配的第一個字符之前的子串
            例:csStr="abcdef";
                cout<<csStr.SpanExcluding("cf");    //ab

            CString SpanIncluding( LPCTSTR lpszCharSet ) const;
            從對象中查找與lpszCharSe中任意字符不匹配的字符,并返回第一個不匹配字符之前的字串
            例:csStr="abcdef";
                cout<<csStr.SpanIncluding("fdcba");    //abcd

            int ReverseFind( TCHAR ch ) const;
            從后向前查找第一個匹配,找到時返回下標。沒找到時返回-1
            例:csStr="abba";
                cout<<csStr.ReverseFind('a');        //3

            void Format( LPCTSTR lpszFormat, ... );
            void Format( UINT nFormatID, ... );

            格式化對象,與C語言的sprintf函數用法相同
            例:csStr.Format("%d",13);
                cout<<csStr;                       //13

            TCHAR GetAt( int nIndex ) const;
            返回下標為nIndex的字符,與字符串的[]用法相同
            例:csStr="abcdef";
                cout<<csStr.GetAt(2);             //c
            //當nIndex為負數或超出對象末尾時,會發生無法預料的結果。


            void SetAt( int nIndex, TCHAR ch );
            給下標為nIndex的字符重新賦值
            例:csStr="abcdef";
                csStr.SetAt(2,'x');
                cout<<csStr;                      //abxdef
            //當nIndex為負數或超出對象末尾時,會發生無法預料的結果。


            CString Left( int nCount ) const;
            從左取字串
            例:csStr="abcdef";
                cout<<csStr.Left(3);           //abc
            //當nCount等于0時,返回空。
            //當nCount為負數時,返回空。
            //當nCount大于對象長度時,返回值與對象相同。


            CString Right( int nCount ) const;
            從右取字串
            例:csStr="abcdef";
                cout<<csStr.Right(3);           //def
            //當nCount等于0時,返回空。
            //當nCount為負數時,返回空。
            //當nCount大于對象長度時,返回值與對象相同。


            CString Mid( int nFirst ) const;
            CString Mid( int nFirst, int nCount ) const;

            從中間開始取字串
            例:csStr="abcdef";
                cout<<csStr.Mid(2);           //cdef
                csStr="abcdef";
                cout<<csStr.Mid(2,3);         //cde
            //當nFirst為0和為負數時,從第一個字符開始取。
            //當nFirst等于對象末尾時,返回空字串。
            //當nFirst超出對象末尾時,會發生無法預料的結果。
            //當nCount超出對象末尾時,返回從nFirst開始一直到對象末尾的字串
            //當nCount為0和為負數時,返回空字串。


            LPTSTR GetBuffer( int nMinBufLength );
            申請新的空間,并返回指針
            例:csStr="abcde";
                LPTSTR pStr=csStr.GetBuffer(10);
                strcpy(pStr,"12345");
                csStr.ReleaseBuffer();
                pStr=NULL;
                cout<<csStr                 //12345
            //使用完GetBuffer后,必須使用ReleaseBuffer以更新對象內部數據,否則會發生無法預料的結果。


            void ReleaseBuffer( int nNewLength = -1 );
            使用GetBuffer后,必須使用ReleaseBuffer以更新對象內部數據
            例:csStr="abc";
                LPTSTR pStr=csStr.GetBuffer(10);
                strcpy(pStr,"12345");
                cout<<csStr.GetLength();       //3(錯誤的用法)
                csStr.ReleaseBuffer();
                cout<<csStr.GetLength();       //5(正確)
                pStr=NULL;
            //CString對象的任何方法都應在ReleaseBuffer之后調用

            LPTSTR GetBufferSetLength( int nNewLength );
            申請新的空間,并返回指針
            例:csStr="abc";
                csStr.GetBufferSetLength(20);
                cout<<csStr;                  //abc
                count<<csStr.GetLength();     //20;
                csStr.ReleaseBuffer();
                count<<csStr.GetLength();     //3;
            //使用GetBufferSetLength后可以不必使用ReleaseBuffer。

            posted on 2010-02-23 13:00 wrh 閱讀(455) 評論(0)  編輯 收藏 引用

            導航

            <2010年2月>
            31123456
            78910111213
            14151617181920
            21222324252627
            28123456
            78910111213

            統計

            常用鏈接

            留言簿(19)

            隨筆檔案

            文章檔案

            收藏夾

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久99精品国产麻豆蜜芽| 久久热这里只有精品在线观看| 婷婷久久五月天| 亚洲国产另类久久久精品黑人 | 亚洲欧美日韩中文久久| 亚洲级αV无码毛片久久精品 | 久久青青草原精品国产软件| 一本久久a久久精品vr综合| 无码8090精品久久一区| 韩国无遮挡三级久久| 久久久亚洲裙底偷窥综合| 97久久超碰国产精品旧版| 亚洲伊人久久成综合人影院 | 99久久精品免费国产大片| 亚洲va中文字幕无码久久| 久久91亚洲人成电影网站| 日本精品一区二区久久久 | 国产免费久久久久久无码| 亚洲av成人无码久久精品| 国产精品热久久无码av| 久久精品一本到99热免费| 国产色综合久久无码有码| 久久国产成人午夜AV影院| 久久精品无码专区免费东京热| 亚洲国产香蕉人人爽成AV片久久| 久久Av无码精品人妻系列| 久久综合久久美利坚合众国 | 久久丫精品国产亚洲av不卡| 亚洲中文字幕无码久久综合网| 久久精品国产精品亚洲人人| 国产精品日韩欧美久久综合| 91精品国产综合久久久久久| 99久久免费国产精品特黄| 久久香蕉国产线看观看猫咪?v| 99久久免费国产特黄| 久久99国产精一区二区三区| 国产精品视频久久| 午夜不卡888久久| 国产精品99久久久久久董美香| 国产精品激情综合久久| 狠狠色丁香婷婷综合久久来来去 |