CString 操作函数
CString結(jié)尾有一個(gè)NULL;
1、int GetLength( ) const;? ?//返回字符串的長(zhǎng)度,不包含結(jié)尾的空字符;在MBCS中,8位計(jì)位一個(gè);在Unicode中,字符個(gè)數(shù)?
例:csStr="ABCDEF中文123456";
????printf("%d",csStr.GetLength());???????//16
2、void MakeReverse( );? ? ?//顛倒字符串的順序
例:csStr="ABCDEF中文123456";
????csStr.MakeReverse();
????cout<<csStr;??????????????????//654321文中FEDCBA
3、void MakeUpper( );?void MakeLower( );??將小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母;??將大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母;
4、int Compare( LPCTSTR lpsz ) const;? ?\\ 區(qū)分大小寫(xiě)比較兩個(gè)字符串,相等時(shí)返回0,大于時(shí)返回1,小于時(shí)返回-1
int CompareNoCase( LPCTSTR lpsz ) const;? \\不區(qū)分大小寫(xiě)比較兩個(gè)字符串,相等時(shí)返回0,大于時(shí)返回1,小于時(shí)返回-1
5、int Delete( int nIndex, int nCount = 1 )? ? ? \\ 刪除字符,刪除從下標(biāo)nIndex開(kāi)始的nCount個(gè)字符
//當(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)有任何操作。
6、int Insert( int nIndex, TCHAR ch )
int Insert( int nIndex, LPCTSTR pstr )? ?\\ 在下標(biāo)為nIndex的位置,插入字符或字符串。返回插入后對(duì)象的長(zhǎng)度
7、int Remove( TCHAR ch );? ? \\移除對(duì)象內(nèi)的指定字符。返回移除的數(shù)目
8、int Replace( TCHAR chOld, TCHAR chNew );
int Replace( LPCTSTR lpszOld, LPCTSTR lpszNew );? ?\\?替換字串
9、void TrimLeft( );? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?void TrimRight( );
void TrimLeft( TCHAR chTarget );? ? ? ? ? ? ? ? ? void TrimRight( TCHAR chTarget );
void TrimLeft( LPCTSTR lpszTargets );? ? ? ? ??void TrimRight( LPCTSTR lpszTargets );
從左刪除字符,被刪的字符與chTarget或lpszTargets匹配,一直刪到第一個(gè)不匹配的字符為止
例:csStr="aaabaacdef";
????csStr.TrimLeft('a');
????cout<<csStr;????????????????//baacdef
????csStr="aaabaacdef";
????csStr.TrimLeft("ab");
????cout<<csStr;????????????????//cdef
//無(wú)參數(shù)時(shí)刪除空格
10、void Empty( );? \\?清空
11、BOOL IsEmpty( ) const;? \\?測(cè)試對(duì)象是否為空,為空時(shí)返回零,不為空時(shí)返回非零
12、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)始位置
13、void Format( LPCTSTR lpszFormat, ... );
void Format( UINT nFormatID, ... );??格式化對(duì)象,與C語(yǔ)言的sprintf函數(shù)用法相同
14、int ReverseFind( TCHAR ch ) const;??從后向前查找第一個(gè)匹配,找到時(shí)返回下標(biāo)。沒(méi)找到時(shí)返回-1
15、void Format( LPCTSTR lpszFormat, ... );
void Format( UINT nFormatID, ... );? ?格式化對(duì)象,與C語(yǔ)言的sprintf函數(shù)用法相同
16、TCHAR GetAt( int nIndex ) const;? ??返回下標(biāo)為nIndex的字符,與字符串的[]用法相同
void SetAt( int nIndex, TCHAR ch );? ??給下標(biāo)為nIndex的字符重新賦值
17、CString Left( int nCount ) const;? ??從左取字串
CString Right( int nCount ) const;? ? ?從右取字串
18、CString Mid( int nFirst ) const;
CString Mid( int nFirst, int nCount ) const;??從中間開(kāi)始取字串
19、LPTSTR GetBuffer( int nMinBufLength );? ?申請(qǐng)新的空間,并返回指針;不包括末尾\0;?
例: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é)果。
20、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)用
21、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。
?22、int FindOneOf( LPCTSTR lpszCharSet ) const;?? ?查找lpszCharSet中任意一個(gè)字符在CString對(duì)象中的匹配位置。未找到時(shí)返回-1,否則返回字串的開(kāi)始位置
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
(x) 轉(zhuǎn)換成?LPCTSTR: LPCTSTR(cstring)
轉(zhuǎn)載于:https://www.cnblogs.com/wllwqdeai/p/10296376.html
總結(jié)
以上是生活随笔為你收集整理的CString 操作函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【[网络流二十四题]最长不下降子序列问题
- 下一篇: Python基础知识点总结