• <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>
            posts - 131, comments - 12, trackbacks - 0, articles - 0
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            CString 成員函數(shù)用法大全

            Posted on 2012-09-21 09:01 盛勝 閱讀(347) 評(píng)論(0)  編輯 收藏 引用 所屬分類: ftp客戶端
            CString的構(gòu)造函數(shù)
            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;
            返回字符串的長(zhǎng)度,不包含結(jié)尾的空字符。
            例:csStr="ABCDEF中文123456";
                printf("%d",csStr.GetLength());       //16

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

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

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

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

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

            int Delete( int nIndex, int nCount = 1 )
            刪除字符,刪除從下標(biāo)nIndex開(kāi)始的nCount個(gè)字符
            例:csStr="ABCDEF";
                csStr.Delete(2,3);
                cout<<csStr;              // ABF
            //當(dāng)nIndex過(guò)大,超出對(duì)像所在內(nèi)存區(qū)域時(shí),函數(shù)沒(méi)有任何操作。
            //當(dāng)nIndex為負(fù)數(shù)時(shí),從第一個(gè)字符開(kāi)始刪除。
            //當(dāng)nCount過(guò)大,導(dǎo)致刪除字符超出對(duì)像所在內(nèi)存區(qū)域時(shí),會(huì)發(fā)生無(wú)法預(yù)料的結(jié)果。
            //當(dāng)nCount為負(fù)數(shù)時(shí),函數(shù)沒(méi)有任何操作。

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

            在下標(biāo)為nIndex的位置,插入字符或字符串。返回插入后對(duì)象的長(zhǎng)度
            例:csStr="abc";
                csStr.Insert(2,'x');
                cout<<csStr;                     //abxc
                csStr="abc";
                csStr.Insert(2,"xyz");
                cout<<csStr;                     //abxyzc
            //當(dāng)nIndex為負(fù)數(shù)時(shí),插入在對(duì)象開(kāi)頭
            //當(dāng)nIndex超出對(duì)象末尾時(shí),插入在對(duì)象末尾

            int Remove( TCHAR ch );
            移除對(duì)象內(nèi)的指定字符。返回移除的數(shù)目
            例: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匹配,一直刪到第一個(gè)不匹配的字符為止
            例:csStr="aaabaacdef";
                csStr.TrimLeft('a');
                cout<<csStr;                //baacdef
                csStr="aaabaacdef";
                csStr.TrimLeft("ab");
                cout<<csStr;                //cdef
            //無(wú)參數(shù)時(shí)刪除空格

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

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

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

            BOOL IsEmpty( ) const;
            測(cè)試對(duì)象是否為空,為空時(shí)返回零,不為空時(shí)返回非零
            例: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為開(kāi)始查找的位置。未找到匹配時(shí)返回-1,否則返回字串的開(kāi)始位置
            例: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
            //當(dāng)nStart超出對(duì)象末尾時(shí),返回-1。
            //當(dāng)nStart為負(fù)數(shù)時(shí),返回-1。

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

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

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

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

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

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

            TCHAR GetAt( int nIndex ) const;
            返回下標(biāo)為nIndex的字符,與字符串的[]用法相同
            例:csStr="abcdef";
                cout<<csStr.GetAt(2);             //c
            //當(dāng)nIndex為負(fù)數(shù)或超出對(duì)象末尾時(shí),會(huì)發(fā)生無(wú)法預(yù)料的結(jié)果。

            void SetAt( int nIndex, TCHAR ch );
            給下標(biāo)為nIndex的字符重新賦值
            例:csStr="abcdef";
                csStr.SetAt(2,'x');
                cout<<csStr;                      //abxdef
            //當(dāng)nIndex為負(fù)數(shù)或超出對(duì)象末尾時(shí),會(huì)發(fā)生無(wú)法預(yù)料的結(jié)果。

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

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

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

            從中間開(kāi)始取字串
            例:csStr="abcdef";
                cout<<csStr.Mid(2);           //cdef
                csStr="abcdef";
                cout<<csStr.Mid(2,3);         //cde
            //當(dāng)nFirst為0和為負(fù)數(shù)時(shí),從第一個(gè)字符開(kāi)始取。
            //當(dāng)nFirst等于對(duì)象末尾時(shí),返回空字串。
            //當(dāng)nFirst超出對(duì)象末尾時(shí),會(huì)發(fā)生無(wú)法預(yù)料的結(jié)果。
            //當(dāng)nCount超出對(duì)象末尾時(shí),返回從nFirst開(kāi)始一直到對(duì)象末尾的字串
            //當(dāng)nCount為0和為負(fù)數(shù)時(shí),返回空字串。

            LPTSTR GetBuffer( int nMinBufLength );
            申請(qǐng)新的空間,并返回指針
            例:csStr="abcde";
                LPTSTR pStr=csStr.GetBuffer(10);
                strcpy(pStr,"12345");
                csStr.ReleaseBuffer();
                pStr=NULL;
                cout<<csStr                 //12345
            //使用完GetBuffer后,必須使用ReleaseBuffer以更新對(duì)象內(nèi)部數(shù)據(jù),否則會(huì)發(fā)生無(wú)法預(yù)料的結(jié)果。

            void ReleaseBuffer( int nNewLength = -1 );
            使用GetBuffer后,必須使用ReleaseBuffer以更新對(duì)象內(nèi)部數(shù)據(jù)
            例:csStr="abc";
                LPTSTR pStr=csStr.GetBuffer(10);
                strcpy(pStr,"12345");
                cout<<csStr.GetLength();       //3(錯(cuò)誤的用法)
                csStr.ReleaseBuffer();
                cout<<csStr.GetLength();       //5(正確)
                pStr=NULL;
            //CString對(duì)象的任何方法都應(yīng)在ReleaseBuffer之后調(diào)用

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



            CString ImagePath = "d:/abc/dd.avi";
            int i = ImagePath.ReverseFind(_T('/'));
            CString strtest = ImagePath.Left(i+1);


            pasting
            国产L精品国产亚洲区久久| 国产精品一区二区久久精品| 少妇无套内谢久久久久| 久久这里的只有是精品23| 四虎亚洲国产成人久久精品| 99久久99这里只有免费费精品| 午夜久久久久久禁播电影 | 少妇被又大又粗又爽毛片久久黑人 | 久久久久成人精品无码 | 97香蕉久久夜色精品国产 | 成人久久精品一区二区三区| 国产精品久久久久aaaa| 青春久久| 色综合久久中文色婷婷| 久久婷婷人人澡人人爽人人爱| 久久99精品国产99久久6男男| 久久久久九国产精品| 久久se精品一区精品二区| 国产69精品久久久久9999APGF| 久久se精品一区二区| 久久综合九色综合网站| 久久久久久精品免费看SSS| 国产成人精品久久亚洲高清不卡| 久久精品国产网红主播| 欧美日韩中文字幕久久久不卡 | 久久这里只有精品18| 久久福利青草精品资源站| 人妻无码中文久久久久专区 | 久久青青国产| 欧美性大战久久久久久| 亚洲国产精品综合久久网络| 久久久WWW成人| 99久久综合国产精品免费| 久久中文精品无码中文字幕| 狠狠色噜噜色狠狠狠综合久久 | 亚洲中文字幕久久精品无码APP | 久久久久久精品免费看SSS| 影音先锋女人AV鲁色资源网久久| 久久亚洲AV无码精品色午夜| 久久亚洲欧美国产精品| 91久久精品无码一区二区毛片|