• <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++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            CString 成員函數用法大全

            Posted on 2012-09-21 09:01 盛勝 閱讀(333) 評論(0)  編輯 收藏 引用 所屬分類: ftp客戶端
            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。



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


            pasting
            91精品久久久久久无码| 久久国产精品久久久| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 中文字幕日本人妻久久久免费| 色综合久久久久无码专区 | 一本色道久久88综合日韩精品 | 精品国产乱码久久久久软件| 久久精品人成免费| 一本久久精品一区二区| 色综合久久最新中文字幕| 奇米影视7777久久精品人人爽| 狠狠色婷婷综合天天久久丁香| 久久99久久99精品免视看动漫| 久久黄色视频| 亚洲国产成人久久精品影视| 精品国产乱码久久久久久呢| 久久99精品久久久久久野外 | 香蕉99久久国产综合精品宅男自| 国产精品久久久久久| 亚洲午夜久久久影院| 一本久久a久久精品综合香蕉| 国产呻吟久久久久久久92| 国产精品一区二区久久国产| 久久91精品国产91| 久久午夜福利电影| 久久精品一区二区三区中文字幕 | 久久综合综合久久97色| 麻豆成人久久精品二区三区免费| 日韩va亚洲va欧美va久久| 久久人人爽人人精品视频| 国内精品久久久久影院网站| 97久久精品午夜一区二区| 97久久天天综合色天天综合色hd | 欧美伊人久久大香线蕉综合69| 欧美久久精品一级c片片| 久久亚洲国产午夜精品理论片| 色综合久久中文综合网| 精品综合久久久久久88小说| 国产成人精品久久亚洲高清不卡 | 精品精品国产自在久久高清| 国内精品伊人久久久久|