一、mfc常用類之
string 類
1、cstring的建構函式:
cstring(
const cstring& stringsrc);
將乙個已經存在的cstring
物件 stringsrc
的內容拷貝到該
cstring
物件。例如:
cstring str1(_t(「www.google.com」)) ; //將常量字串拷貝到
str1
cstring str2(str1) ; //將
str1
的內容拷貝到
str2
cstring (lpctstr lpch , int nlength) ;
將字串lpch
中的前
nlength
個字元拷貝到該
cstring
物件。例如:
cstring str(_t(「www.google.com」), 3) ; //構造的字串物件的內容為」www」
2、cstring 類的大小寫轉換及順序轉換函式
cstring& makelower() ; //將字串中的所有的小寫字母改變為大寫字母
cstring& makeupper(0 ; //******************大寫
**********
小寫****
cstring& makereverse() ; //將字串中的所有字元的順序顛倒
exp:
cstring str(_t(「chenwenju」)) ;
3、string 物件的連線
多個string
物件的連線可以通過過載運算子 + ,
+= 實現。
cstring str1(_t(「www.』)) ;
cstring str2(_t(「google.com」)) ;
cstring str2 = str1 + str2 ; //str3 的內容為」www.google.com」
4、cstring 的物件的比較
cstring 的物件的比較可以通過
==,
!= ,
< , > ,<= ,》=
等過載運算子實現, 也可以使用
compare
和 comparenocase
成員函式實現。
int compare(pcxstr psz) const ; //將該
cstring
物件與
psz
字串比較,如果相等的話就返回
0 ,小於
psz
就返回小於
0 ,大於
psz就返回值大於0 。
comparenocase()
函式與cpmpare()
函式的用法相似,只是不區分大小寫。
cstring str1(_t(「chenwenju」)) ;
cstring str2(_t(「chenwenju」)) ;
if(str1 == str2)
//因為
str1
不等於str2
,所以不執行此處的**
if(0 == str1.comparenocase(str2))
//因為不區分大小寫,所以執行此處的**
5、cstring 物件字串的提取操作
cstring left(int ncount) const ; //提取該字串左邊的
ncount
個字元,並返回乙個包含這個子字串的拷貝的
cstring
物件。
cstring right(int ncount) ;
cstring mid(int ifirst, int ncount) ;
cstring mid(int ifirst) ; //到結尾處
6、cstring 物件字串的查詢操作
int find(pcxstr pszsub, int istart = 0) const throw();
在cstring
物件字串的
istatrt
索引位置開始,查詢子字串
pszsub
第一次出現的位置,如果沒有找到則返回
-1 。
int findoneof(pcxstr pszcharset) const throw() ;//查詢
pszcharset
字串中的任意字元,返回第一次出現的位置,找不到返回
-1 。
int reversefind(xchar ch) const throw() ;
以上只是cstring類物件的常用函式,在這裡做一下總結。
MFC的CString的find的使用
名稱 cstring find 在乙個較大的 字元 串中查詢字元或子字串 int find tchar ch const int find lpctstr lpszsub const int find tchar ch,int nstart const int find lpctstr pstr,i...
MFC的CString的內部實現分析
mfc的cstring是字串管理類,其為了實現高效率的緩衝管理,使用了引用記數及copybeforewrite技術。這在一定程度上加大了其神秘感和理解難度。好在他的 是公開的,所以可以給我們研究它的內部實現提供條件。下面就來看看到底是如何實現的。由於不同版本的msvc其cstring實現有些許差別,...
關於MFC的CString 訪問越界問題
1.很多控制項可能都要使用cstring,比如ctooltipctrl.gettext 如果我一開始,m tooltip.addtool this,m str,rect,tts alwaystip 其中 m str 的長度超過256位元組,注意是位元組,如果是unicode下,那就128 tchar...