日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CString 操作函数

發布時間:2024/8/26 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CString 操作函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CString結尾有一個NULL;

1、int GetLength( ) const;? ?//返回字符串的長度,不包含結尾的空字符;在MBCS中,8位計位一個;在Unicode中,字符個數?

例: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( );??將小寫字母轉換為大寫字母;??將大寫字母轉換為小寫字母;

4、int Compare( LPCTSTR lpsz ) const;? ?\\ 區分大小寫比較兩個字符串,相等時返回0,大于時返回1,小于時返回-1

int CompareNoCase( LPCTSTR lpsz ) const;? \\不區分大小寫比較兩個字符串,相等時返回0,大于時返回1,小于時返回-1
5、int Delete( int nIndex, int nCount = 1 )? ? ? \\ 刪除字符,刪除從下標nIndex開始的nCount個字符
//當nIndex過大,超出對像所在內存區域時,函數沒有任何操作。
//當nIndex為負數時,從第一個字符開始刪除。
//當nCount過大,導致刪除字符超出對像所在內存區域時,會發生無法預料的結果。
//當nCount為負數時,函數沒有任何操作。

6、int Insert( int nIndex, TCHAR ch )
int Insert( int nIndex, LPCTSTR pstr )? ?\\ 在下標為nIndex的位置,插入字符或字符串。返回插入后對象的長度

7、int Remove( TCHAR ch );? ? \\移除對象內的指定字符。返回移除的數目

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匹配,一直刪到第一個不匹配的字符為止
例:csStr="aaabaacdef";
????csStr.TrimLeft('a');
????cout<<csStr;????????????????//baacdef
????csStr="aaabaacdef";
????csStr.TrimLeft("ab");
????cout<<csStr;????????????????//cdef
//無參數時刪除空格

10、void Empty( );? \\?清空

11、BOOL IsEmpty( ) const;? \\?測試對象是否為空,為空時返回零,不為空時返回非零

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為開始查找的位置。未找到匹配時返回-1,否則返回字串的開始位置

13、void Format( LPCTSTR lpszFormat, ... );

void Format( UINT nFormatID, ... );??格式化對象,與C語言的sprintf函數用法相同

14、int ReverseFind( TCHAR ch ) const;??從后向前查找第一個匹配,找到時返回下標。沒找到時返回-1

15、void Format( LPCTSTR lpszFormat, ... );

void Format( UINT nFormatID, ... );? ?格式化對象,與C語言的sprintf函數用法相同

16、TCHAR GetAt( int nIndex ) const;? ??返回下標為nIndex的字符,與字符串的[]用法相同

void SetAt( int nIndex, TCHAR ch );? ??給下標為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;??從中間開始取字串

19、LPTSTR GetBuffer( int nMinBufLength );? ?申請新的空間,并返回指針;不包括末尾\0;?

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

20、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之后調用

21、LPTSTR GetBufferSetLength( int nNewLength );? ? ?申請新的空間,并返回指針

例: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中任意一個字符在CString對象中的匹配位置。未找到時返回-1,否則返回字串的開始位置

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

(x) 轉換成?LPCTSTR: LPCTSTR(cstring)

轉載于:https://www.cnblogs.com/wllwqdeai/p/10296376.html

總結

以上是生活随笔為你收集整理的CString 操作函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。