• <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 閱讀(458) 評論(0)  編輯 收藏 引用

            導航

            <2011年5月>
            24252627282930
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            統計

            常用鏈接

            留言簿(19)

            隨筆檔案

            文章檔案

            收藏夾

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            青青青伊人色综合久久| 18岁日韩内射颜射午夜久久成人| 99麻豆久久久国产精品免费| 久久久精品人妻一区二区三区四| 久久久久四虎国产精品| 国内精品久久国产| 久久国产精品99精品国产987| 久久夜色精品国产| 久久精品国产影库免费看 | 午夜精品久久久内射近拍高清| 日本WV一本一道久久香蕉| 麻豆精品久久精品色综合| 久久久久久久97| 久久久久亚洲?V成人无码| 久久99国产精品尤物| 99久久这里只精品国产免费| 亚洲欧美精品伊人久久| 久久综合香蕉国产蜜臀AV| 麻豆av久久av盛宴av| 色偷偷91久久综合噜噜噜噜| 国产成人香蕉久久久久| 国产精品久久久久久| 日本久久久久亚洲中字幕| 中文成人久久久久影院免费观看| 久久久久免费精品国产| 成人久久精品一区二区三区| 亚洲精品高清国产一线久久| 亚洲欧洲精品成人久久曰影片| 亚洲国产精品久久久久婷婷老年| 久久国产精品无码HDAV| 久久99久久99精品免视看动漫| 久久精品国产亚洲AV香蕉| 久久人人爽人人爽人人片AV麻烦| 欧美国产精品久久高清| 久久伊人影视| 亚洲欧美国产精品专区久久| 亚洲美日韩Av中文字幕无码久久久妻妇 | 久久影院亚洲一区| 青青热久久国产久精品| 久久精品国产男包| 亚洲国产精品18久久久久久|