
CString成员函数使用实例
王佰营 徐丽红
wbymcs51.blog.bokee.net
CString类在字符串处理中非常方便,快捷;熟练掌握非常重要.
一. Cstring的构造:
CString ss1;
ss1 = "This is my book";
CString ss2("Good bye!");
CString ss3 = ss2;
CString ss4(ss1);
CString ss5(ss2+"--"+ss3);
CString ss6(’H’);
//ss6=’H’;
CString ss7(’Y’,6); //ss7="YYYYYY";
CString ss8 = "Very Good!"; //ss7="Very Good!";
//IDS_ABOUTBOX 101 关于 MCS51(&A)...
cstring s7((lpcstr)id_file_new)。将字符类型转换成数值类型的api函数:atoi、_atoi64或atol等,均值提供对char*的转换cstring转化为uint,所以对于cstring,可以先通过cstring::getbuffer函数返回对应的char*或者强制转换成lpcstr,string类型可以通过函数c_str()间接地完成对应数值类型的转换,下面着重讨论char*转换成数值类型的方法。功能更强cstring转化为uint,并带有“布尔机"而又便于作数据通信的mcs-51系列单片机以及功能更高的16位单片机,大有取代mcs-48系列之势。
LPCTSTR lpsz ="abcd";
Cstring ss10(lpsz);
//ss10="abcd";
二. 成员函数;
1. void AnsiToOem( );
ss1 = "This is my book";
ss1.AnsiToOem();// ss1 = "This is my book";(OEM);
2. int Collate(LPCTSTR lpsz)const;
A>. LPCTSTR lpsz="abcd";
ss1="abcd";
int i=ss1.Collate(lpsz); // i = 0;
B>. LPCTSTR lpsz="abcc";
ss1="abcd";
int i=ss1.Collate(lpsz); // i = 1;
C>. LPCTSTR lpsz="abcf";
ss1="abcd";
int i=ss1.Collate(lpsz); // i = -1;
D>. ss1="abcd";
int i=ss1.Collate("abcD"); // i = -1;
E>. ss1="abcd";
int i=ss1. Collate("ABCD");// i =-1;
3. int CollateNoCase(LPCTSTR lpsz)const;
A>. LPCTSTR lpsz="abcd";
ss1="abcd";
int i=ss1. CollateNoCase (lpsz);// i = 0;
B>. LPCTSTR lpsz="abcc";
ss1="abcd";
int i=ss1. CollateNoCase (lpsz);// i = 1;
C>. LPCTSTR lpsz="abcf";
ss1="abcd";

int i=ss1. CollateNoCase (lpsz); // i = -1;
D>. ss1="abcd";
int i=ss1. CollateNoCase ("abcD");// i = 0;
E>. ss1="abcd";
int i=ss1. CollateNoCase ("ABCD");// i =0;
4. int Compare(LPCTSTR lpsz)const;
A>. LPCTSTR lpsz="abcd";
ss1="abcd";
int i=ss1.Compare (lpsz);// i = 0;
B>. LPCTSTR lpsz="abcc";
ss1="abcd";
int i=ss1.Compare (lpsz);// i = 1;
C>. LPCTSTR lpsz="abcf";
ss1="abcd";
int i=ss1.Compare (lpsz);// i = -1;
D>. ss1="abcd";
int i=ss1.Compare ("abcD");// i = 1;
E>. ss1="abcd";
int i=ss1.Compare ("ABCD");// i = 1;
5. int CompareNoCase(LPCTSTR lpsz)const;
A>. LPCTSTR lpsz="abcd";
ss1="abcd";
int i=ss1. CompareNoCase (lpsz);// i = 0;
B>. LPCTSTR lpsz="abcc";
ss1="abcd";
int i=ss1. CompareNoCase (lpsz);// i = 1;
C>. LPCTSTR lpsz="abcf";
ss1="abcd";
int i=ss1. CompareNoCase (lpsz);// i = -1;
D>. ss1="abcd";
int i=ss1. CompareNoCase ("abcD");// i = 0;
E>. ss1="abcd";
int i=ss1. CompareNoCase ("ABCD");// i =0;
6. int Delete(int nIndex, int nCount = 1);
Cstring ss1;
ss1="0123456789";
ss1.Delete(3,2);//ss1 = "01256789";
ss1="0123456789";
ss1.Delete(3,10);//出错!
ss1="0123456789";
ss1.Delete(3,0);//ss1 = "0123456789";
ss1="0123456789";
ss1.Delete(15,3);//ss1 = "0123456789";
7.void Empty();
Cstringss1="0123456789";
ss1.Empty();//ss1 = "";
7. int Find(TCHAR ch) const;

int Find(LPCTSTR lpszSub) const;
int Find(TCHAR ch, int nStart) const;
int Find(LPCTSTR lpszSub, int nStart) const;
int nPos;
Cstring ss1 = "0123456789";
nPos = ss1.Find(’5’); // nPos = 5;
nPos = ss1.Find(’567’); // nPos = 7;
nPos = ss1.Find("567"); // nPos = 7;
nPos = ss1.Find(’5’,3); // nPos = 5;
nPos = ss1.Find(’5’,6); // nPos = -1;
nPos = ss1.Find("567",0); // nPos = 5;
nPos = ss1.Find("567",9); // nPos = -1;
8. int FindOneOf(LPCSTR lpszCharSet, int nStart);
Cstring ss1 = "0123456789";
nPos = ss1.FindOneOf("A6B"); // nPos = 6
nPos = ss1.FindOneOf("4A6B"); // nPos = 4
9. void Format(LPCTSTR lpszFormat,....);
void Format(UINT nFormatID,....);
Cstring ss1;
int i = 100;
ss2.Format("There are %d books on the desk!",i);
//ss2 = "There are 100 books on the desk!"
void writestring(lpctstr lpsz)。void cmyhtmlctrl::onnavigatecomplete2(lpctstr strurl)。void ccomboxdlg::setcombox(lpctstr lpappname,lpctstr lpkeyname,lpctstr lpitemkeyname,ccombobox * pccombobox ) 。
LPCTSTR pstr = "1234567890";
va_list args;
va_start(args,pstr);
ss2.FormatV(pstr, args); // ss2 = "1234567890"
11. void FormatMessage(LPCTSTR lpszFormat,...);
void FormatMessage(UINT nFormatID,....);
LPCTSTR pstr="7654321";
ss2.FormatMessage(pstr); //ss2 = "7654321";
12.void FreeExtra();
13. TCHAR GetAt(int nIndex) const;
CStringss1="0123456789";
char ch = ss1.GetAt(7);// ch = ’7’;
14. PTSTR GetBuffer(int nMinBufLength);
void ReleaseBuffer(int nNewLength = -1);
Cstring ss1,ss2;
ss1="0123456789";
LPSTR lp = ss1.GetBuffer(10);
ss2 = lp; //ss2 = "0123456789";
strcpy(lp,"HELO!"); //ss1 = "HELO!";
ss1.ReleaseBuffer(); //lp所指向的缓冲区无效;
14.LPSTR GetBufferSetLength(int nNewLength);
Cstring ss1 = "0123456789";
LPSTR lp = ss1. GetBufferSetLength(3);
ss1="0123456789";

lp=ss1.GetBufferSetLength(3);
ss2=lp; //ss2 = "012";
strcpy(lp,"ABCDE"); //ss1 = "ABCDE";
15. int GetLength() const;
Cstring ss1 = "0123456789";
int len = ss1. GetLength(); //len = 10;
16. BOOL IsEmpty() const;
Cstring ss1 = "0123456789";
BOOL bEmpty = ss1. IsEmpty(); //bEmpty = faulse;
ss1 ="";
bEmpty = ss1. IsEmpty(); //bEmpty = true;
17. Cstring Left(int nCount) cost;
Cstring ss1 = "0123456789";
Cstring ss2 = ss1. Left (4); //ss2 = "0123";
//ss1 = "0123456789";
18. Cstring Right(int nCount) cost;
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-105043-1.html
好自为之
他航他的
希望能有所帮助