VC+CString+字符串处理函数的应用
- 格式:doc
- 大小:63.50 KB
- 文档页数:14
在C++中,`cstring`是一个库,其中包含一些用于处理C风格字符串(以null结尾的字符数组)的函数。
在许多方面,它们与标准库中的`string`类一起使用的方法类似。
下面是一些常见的`cstring`函数的使用方法:1. `memcmp`: 这个函数可以比较两个内存区域的内容。
它接受两个指向内存区域的指针和要比较的字节数。
```cpp#include <cstring>int main() {char str1[] = "Hello";char str2[] = "Hello";if (std::memcmp(str1, str2, 5) == 0) {std::cout << "The first five characters are the same." << std::endl;} else {std::cout << "The first five characters are not the same."<< std::endl;}return 0;}```2. `memcpy`: 这个函数用于将一段内存的内容复制到另一段内存。
它接受三个参数:目标内存区域的指针,源内存区域的指针,以及要复制的字节数。
```cpp#include <cstring>int main() {char str1[100] = "Hello";char str2[100];std::memcpy(str2, str1, 5);str2[5] = '\0'; // Don't forget the null terminator!std::cout << str2 << std::endl; // Prints "Hello"return 0;}```3. `strlen`: 这个函数用于获取C风格字符串的长度。
MFCCString用法小结[定稿]第一篇:MFC CString 用法小结[定稿]MFC CString 用法小结1.初始化方法:(1)直接复制,如Cstring=”mingrisoft”;(2)通过构造函数初始化,如CString str(… ‟,100)//与分配100个字节,填充空格 char* p=”feiqiang”;Cstring(p);delete p.(3)加载工程中的字符串资源,如CString str;str.LoadString(IDS_STR);(4)使用CString类的成员函数Format初始化,如CString str;int i=0;str.Format(“value:%d”,i);2.将CString转化为char*,如CString str=”feqiang”;char *p;p=str.GetBuffer();delete p;将char*转化为CString,如:char* p=”feiqiang”;p[len(p)]=‟‟;Cstring str(p);char* 和char数组的转化:char buf[5] ={…a‟,‟b‟,‟c‟};char *p;p=new char[5];p=buf;将字符串转化为数字:CString str=”12”;int i=atoi(str);long j=atoll(str);float f=atof(str);将数字转化为字符串:CString str;int i=12;str.Format(“%d”,i);long j=12;str,Format(“%ld”,j);同理其他类型。
3.字符串的相关操作即方法的使用:(1)提取字符串中的中文,如CStringstrtext,temp,strres;GetLlgItem(IDC_TEXT)->GetWindowT ext(strte xt);//通过ID获取编辑框中的文本for(int =;iif(IsDBCSLeadByte(ch)){ //判断字符是否是双字节编码的前一个字节tmp=strtext.Mid(i,2);//截取索引index1到index2的字符[)i++;stress+=tmp;}GetLlgItem(IDC_RESULT)->SetWindowText(strtes);//设置文本框中的文本}(2)英文字符串首字母大写,如将以空格符分隔的英文单词的第一个字母大写(小写)str.GetAt(i);//提取字符串索引为i个字母str.MakeLower();//转化为小写tmp.MakeUpper();//转化为大写(2)按制定符号分割字符:int pos=str.Find(strchar);//查找字符,如果没找到,则返回0,找到则返回字符的位置,参数可以是字符也可以是字符串while(pos>0){ str1=str.Left(pos);//取左,参数为字符串的个数str=str.Right(str.GetLength-pos-1);//取右,参数同上tmp.Format(“%srn”,str1);//字符串中rn代表回车化行符strres+=tmp;pos=str.Find(strchar);}(3)删除指定的中文: m_text.GetWindowText(strtxt);m_text.GetSel(istart,iend);//得到文本框中选中的文本,并且得到文本的头索引和尾索引if(istart==iend){ return;} str1=strtxt.Left(istart);if(iend>=strtxt.GetLength()){ str2=””;}el se{ str2=strtxt.Right(strtxt.GetLength()-iend);} strres+=str1;strres+=str2;(4)替换字符串:strtxt.Replace(strchar,strnew);//用新串替换旧串(5)根据CPoint查找位置:CPoint pt;//获取字符串时获取鼠标所在字符串的位置int pos=m_text.CharFromPos(pt);//根据pt获取字符串中的位置,即其左侧字符的位置 if(str.IsEmpty()){//判断字符串是否为空m_num.AddString(strres);//文本框追加字符串 } 将字符转化为大写:ch=ch-32;(6)字符串忽略大小写的比较:CString str=”feiqiang”;int com=pa reNoCase(“mingri”);//如果相等返回0,否则返回-1;(7)连接换行符:CString str=”feiqiang t”;(8)字符反转:str.MakeReverse();(9)取出首位空格:str.TrimLeft();str.TrimRight();取出字符串中的所有空格,str.Replace(“ ”,””);(10)在ListBox中查找字符串intindex=::SendMessage(m_stringlist.GetSafeHwnd(),LB_FINDSTRI NGEXACT,-1,(LPARAM)(LPCTSTR)strtext));//通过SendMessage函数向列表控件发送LB_FINDSTRINGEXACT消息来查找指定字符串是否在列表空间中,如果存在则返回索引位置。
cstring字符串分割处理
字符串的分割处理可以使用以下方法:
1. 使用split()函数:split()函数可以将字符串按照指定的分隔符进行分割,并返回一个包含分割后子字符串的列表。
例如:
```python
s = "Hello, World!"
result = s.split(",") # 使用逗号作为分隔符进行分割
print(result) # 输出 ['Hello', ' World!']
```
2. 使用正则表达式:使用re模块可以根据正则表达式对字符串进行分割。
例如:
```python
import re
s = "Hello, World!"
result = re.split(",\s*", s) # 使用逗号和0个或多个空格作为分隔符进行分割
print(result) # 输出 ['Hello', 'World!']
```
3. 使用字符串的切片功能:根据字符串的特定位置进行分割操作。
例如:
```python
s = "Hello, World!"
result = [s[:5], s[7:]] # 在索引位置5和7处进行分割print(result) # 输出 ['Hello', 'World!']
```
请根据具体的分割要求选择适合的方法进行处理。
cstring 用法C语言中的字符串是一组字符的序列,以\0(空字符)作为结尾。
在C语言中,字符串的处理非常常见,因此对于字符串的操作有着丰富的函数库。
字符串的基本操作包括字符串的输入与输出、字符串的拷贝、字符串的连接、字符串的比较、字符串的截取等。
1. 字符串的输入与输出:C语言中,字符串的输入可以使用scanf函数,输出可以使用printf函数。
例如:```cchar str[20];printf("请输入一个字符串:");scanf("%s", str);printf("您输入的字符串是:%s\n", str);```这段代码从终端读取一个字符串,并输出到终端。
2. 字符串的拷贝:C语言中,可以使用strcpy函数将一个字符串拷贝到另一个字符串中。
例如:```c#include <string.h>char str1[] = "Hello";char str2[20];strcpy(str2, str1);printf("拷贝后的字符串为:%s\n", str2);```这段代码将字符串"Hello"拷贝到str2中,并输出拷贝后的字符串。
3. 字符串的连接:C语言中,可以使用strcat函数将两个字符串连接起来。
例如:```c#include <string.h>char str1[] = "Hello";char str2[] = " world!";strcat(str1, str2);printf("连接后的字符串为:%s\n", str1);```这段代码将字符串"Hello"和" world!"连接起来,并输出连接后的字符串。
4. 字符串的比较:C语言中,可以使用strcmp函数来比较两个字符串的大小关系。
C++中string,wstring,CString常⽤⽅法⼀.概念 string和CString均是字符串模板类,string为标准模板类(STL)定义的字符串类,已经纳⼊C++标准之中.wstring是操作宽字符串的类.C++标准程序库对于string的设计思维就是让他的⾏为尽可能像基本类型,不会在操作上引起什么⿇烦。
CString是对string(字符串)和wstring(宽字符串)的⼀个封装,常⽤在mfc中.⽤来解决编码问题的. string/wstring和CString在使⽤中,要根据实际环境选取。
CString是MFC⾥的,string是STL⾥的,后者通⽤性强些,前者功能全些。
⼀般在mfc中使⽤CString更为好⼀些。
⼆.常⽤⽅法string/wstring常⽤⽅法:string类的构造函数:string(const char *s); //⽤const字符串s初始化string(int n,char c); //⽤n个字符c初始化此外,string类还⽀持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。
当构造的string太长⽽⽆法表达时会抛出length_error异常;string类的字符操作:const char &operator[](int n)const;const char &at(int n)const;char &operator[](int n);char &at(int n);operator[]和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符[]不提供检查访问。
const char *data()const;//返回⼀个⾮null终⽌的c字符数组const char *c_str()const;//返回⼀个以null终⽌的c字符串int copy(char *s, int n, int pos = 0) const;//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数⽬string的特性描述:int capacity()const; //返回当前容量(即string中不必增加内存即可存放的元素个数)int max_size()const; //返回string对象中可存放的最⼤字符串的长度int size()const; //返回当前字符串的⼤⼩int length()const; //返回当前字符串的长度bool empty()const; //当前字符串是否为空void resize(int len,char c);//把字符串当前⼤⼩置为len,并⽤字符c填充不⾜的部分string类的输⼊输出操作:string类重载运算符operator>>⽤于输⼊,同样重载运算符operator<<⽤于输出操作。
CStringTCString CStringA CStringW 操作的字符类型:TCHAR操作的字符类型:char操作的字符类型:wchar_t关于TCHAR,char,wchar_t三种字符类型的区别,会在随后的文章中详细解释!下面是一、CString类的几种基本操作:1、长度:GetLength();CString str(_T("abc"));int len=str.GetLength();//len==32、是否为空(即不含字符):IsEmpty();3、清空字符串:Empty();CString str(_T("abc"));BOOL mEmpty=str.IsEmpty();//mEmpty==FALSEstr.Empty();mEmpty=str.IsEmpty();//mEmpty==TRUE4、转换大小写:MakeUpper(),MakeLower();5、转换顺序:MakeReverse();二、字符串的查找1、Find:从制定位置开始查找指定字符串,返回其位置(找不到返回-1)CString str(_T("abcdefg"));int idx=str.Find(_T("cde"),0);//idx的值为2;2、ReverseFind:从字符串末尾开始查找指定的字符,返回其位置,找不到返回-1,虽然是从后向前查找,但是位置为从开始算起;CString str(_T("abcdefg"));int idx=str.ReverseFind('e');//idx的值为4;3、FindOneOf:查找参数中给定字符串中的任意字符,返回第一次出现的位置CString str(_T("abcabcd"));int idx=str.FindOneOf(_T("cbd"));//idx的值为1;三、字符串的提取Left,Mid,Right:分别实现从CString对象的左、中、右进行字符串的提取操作CString str(_T("abcd"));CString strResult=str.Left(2);//strResult==abstrResult=str.Mid(1);//strResult==bcdstrResult=str.Mid(0,2);//strResult==abstrResult=str.Right(2);//strResult==cd四、其他类型与CString类型的转换,CString str;1、格式化字符串Format:实现从int、long等数值类型、TCHAR、TCHAR*等类型向CString 类型转换(注:TCHAR、TCHAR*等类型向CString类型转换,可以直接赋值)--CString->int:_ttoi()--CString->TCHAR*:1)TCHAR*T=str.GetBuffer();str.ReleaseBuffer();2)TCHAR*T=(LPTSTR)(LPCTSTR)str;五、CString对象的Ansi与Unicode转换1、当前工程环境Unicode(窄字节(Ansi)向宽字节(Unicode)转换)CString str;str="abc";char*p="defg";str=p;2、当前工程环境非Unicode(宽字节向窄字节转换)CString str;str=L"abc";wchar_t*p=L"defg";str=p;六、CString对象包含字符串所占用的字节数CString str;int n=str.GetLength()*sizeof(TCHAR);**错误的求法:sizeof(CString)、sizeof(str),这是求指针长度,总是为4。
CString是MFC对字符串的封装, 它包含一个可变长的字符序列, 提供了很多串操作, 使用它比使用其他的字符串类型更加方便. CString没有继承任何类.CString中的各个字符都是TCHAR类型的, 它在UNICODE中是16位, 在普通字符集中是8位.CString对象可以随着串合并操作而动态增长其长度,而无须用户来对其长度进行专门设置. 你最好把CString看作一个串类型,而不是一个指向字符串的指针; 但CString可以转换为const char*和LPCTSTR类型, 也就是说, 以const char*和LPCTSTR为参数,也可以以CString 作为参数进行调用.一、CString的构造函数CString类拥有众多的构造函数, 用于以不同的数据类型和不同的方式构造一个字符串对象:CString(); //无参数的构造函数,产生一个空的CString对象CString(const CString& stringSrc); //用另一个CString对象的值初始化对象CString(TCHAR ch, int nRepeat=1);//用一个字符重复若干次来初始化对象CString(LPCTSTR lpch, int nLength);//用一个字符数组和一定长度来初始化对象CString(const unsigned char* psz);//从一个无符号字符指针构造对象CString(LPCWSTR lpsz);//从一个Unicode字符串来构造对象CString(LPCSTR lpsz);//从一个ANSI字符串构造对象可以把某些构造函数看作于类型转化。
下面是一些例子:CString s1;CString s2("big");CString s3 = s2;CString s4(S2 + " " + s3);CString s5(" x"); //s5=" x";CString s6(" x",7); //s6=" xxxxxxx";CString s7((LPCSTR)ID_FILE_NEW); //ID_FILE_NEW是一个资源IDCString city="Beijing";//注意不是同值运算符二、CString的基本操作得到字符串长度:即字符串包含的字符数,用函数GetLength,它返回一个int类型的数。
cstring常用方法CString是MFC中一个常用的类,它封装了常见的C字符串操作函数,提供更加方便的字符操作方式。
本文将分步骤阐述CString常用方法。
一、构造函数创建一个CString对象,需要使用构造函数。
括号里可以传入一个C字符串或者字符个数,使用方式如下:CString str1; // 默认构造函数CString str2("hello,world!"); // 传入C字符串CString str3(str2); // 拷贝构造函数,将str2的值赋给str3 CString str4(5, 'A'); // 构造一个由5个A构成的字符串二、赋值操作CString支持C字符串的赋值操作,也可以通过字符串对象之间的赋值实现,示例如下:CString str("hello");str = "hi"; // 直接使用C字符串赋值CString str1 = "world";CString str2;str2 = str1; // 通过已有字符串对象之间的赋值三、字符串拼接在字符串处理过程中,需要将多个字符串拼接成一个完整的字符串。
CString提供了多种拼接方式,其中最常用的是加号+运算符,示例如下:CString str1 = "hello";CString str2 = "world";CString str3 = str1 + "," + str2;CString str4("!");CString str5 = str3 + str4; // 字符串拼接四、字符串长度和内容CString对象可以通过Length()方法获取其长度,也可以直接访问其m_nLength成员变量,示例如下:CString str("hello");int nLength = str.Length(); // 获取字符串长度另外,CString也可以通过operator[]操作符来访问单个字符,示例如下:CString str("hello");char ch = str[1]; // 获取字符串中第2个字符五、字符串查找在字符串处理过程中,经常需要查找字符串中是否包含某个子串,或者从某个位置开始查找某个字符。
vc中CString对象的GetBuffer()用法小结1.GetBuffer函数说明这个函数是为一个CString对象重新获取其内部字符缓冲区的指针,返回的LPTSTR为非const的,从而允许直接修改CString中的内容。
如果nMinBufLength(最小占用长度)比当前buffer长度大,那么就调用GetBuffer函数去释放当前的Buffer,用一个被请求的大小去覆盖这个buffer并且重新设定计数器为0,如果在这之前你在这个buffer中调用了LockBuffer,那么你将失去你当前锁定的buffer。
注意事项:如果你使用这个指向由GetBuffer所改变返回的字符串内容,那么在你使用CString其他CString方法之前你必须调用ReleaseBuffer在调用ReleaseBuffer函数之后GetBuffer中的内容将无效(也就是销毁)当这个CString被销毁的时候,这个buffer所占用的内存将被自动释放注意这个: 如果你知道了这个字符串的长度,你不可以直接添加NULL字符了事,当你使用ReleaseBuffer的时候,无论如何,你必须指定最后的字符串的长度,如果你仅仅添加了一个NULL字符结束符给这个字符串,你应该给ReleaseBuffer传递一个-1,当这个函数结束的时候,_tcslen 将决定这个buffer的长度GetBuffer(0):意思是将字符串对象原样返回指针,不改变大小2.使用例子例子:// example for CString::GetBufferCString s( "abcd" );//定义一个CString s并且初始化为abcd#ifdef _DEBUGafxDump << "CString s " << s << "\n";#endifLPTSTR p = s.GetBuffer( 10 );//定义一个指针指向LPTSTR并接受GetBuffer所返回的地址lstrcpy( p, _T("Hello") ); // directly access CString buffer//使用Istrcpy将Hello]复制到该buffer中s.ReleaseBuffer( );//释放buffer#ifdef _DEBUGafxDump << "CString s " << s << "\n";这时候s="Hello";#endif。
cstring常用方法
cstring常用方法是C++中对字符串进行操作的函数集合,包括字符串长度、字符串复制、字符串连接、字符串比较等常用操作。
下面列举一些常用的cstring方法:
1. strlen:用于获取字符串的长度,返回字符串中字符的个数。
2. strcpy:用于将一个字符串复制到另一个字符串中,返回复制后的字符串。
3. strcat:用于将两个字符串连接成为一个新的字符串,返回连接后的字符串。
4. strcmp:用于比较两个字符串的大小,返回值为0表示相等,大于0表示第一个字符串大于第二个字符串,小于0表示第一个字符串小于第二个字符串。
5. strstr:用于在一个字符串中查找另一个字符串,返回值为第一个字符串中第一个匹配到的子串的起始位置。
6. strchr:用于在一个字符串中查找一个字符,返回值为第一个匹配到的字符的位置。
7. strtok:用于将一个字符串分割成若干个子串,返回分割后的第一个子串。
除了上述的常用方法外,cstring还包括了许多其他方法,如strncpy、strnlen、strncat等等。
在实际编程中,cstring的方法可以大大简化字符串操作的代码量,提高程序的效率和可读性。
- 1 -。
CString 里的一些函数与VB里字符串处理的函数很多都是类似的。
1.CString::IsEmptyBOOL IsEmpty( ) const;返回值:如果CString 对象的长度为0,则返回非零值;否则返回0。
说明:此成员函数用来测试一个CString 对象是否是空的。
示例:下面的例子说明了如何使用CString::IsEmpty。
// CString::IsEmpty 示例CString s;ASSERT( s.IsEmpty() );请参阅 CString::GetLength2.CString::LeftCString Left( int nCount ) const;throw( CMemoryException );返回值:返回的字符串是前nCount个字符。
示例:CString s( _T("abcdef") );ASSERT( s.Left(2) == _T("ab") );3.CString::LoadStringBOOL LoadString( UINT nID );throw( CMemoryException );返回值:如果加载资源成功则返回非零值;否则返回0。
nID 一个Windows 字符串资源ID。
说明:此成员函数用来读取一个由nID 标识的Windows 字符串资源,并放入一个已有CString 对象中。
示例:下面的例子说明了如何使用CString::LoadString。
// CString::LoadString 示例#define IDS_FILENOTFOUND 1CString s;if (! s.LoadString( IDS_FILENOTFOUND ))4.CString::MakeLowervoid MakeLower( ); //改变字符的小写5.CString::MakeReversevoid MakeReverse( ); //字符倒置6.CString::MakeUppervoid MakeUpper( ); //改变字符的大写7.CString::MidCString Mid( int nFirst ) const;CString Mid( int nFirst, int nCount ) const;nCount代表要提取的字符数, nFirst代表要提取的开始索引位置示例:CString s( _T("abcdef") );ASSERT( s.Mid( 2, 3 ) == _T("cde") );8.CString::ReleaseBuffervoid ReleaseBuffer( int nNewLength = -1 );参数:nNewLength此字符串的以字符数表示的新长度,不计算结尾的空字符。
如果这个字符串是以空字符结尾的,则参数的缺省值-1 将把CString 的大小设置为字符串的当前长度。
说明:使用ReleaseBuffer 来结束对由GetBuffer 分配的缓冲区的使用。
如果你知道缓冲区中的字符串是以空字符结尾的,则可以省略nNewLength 参数。
如果字符串不是以空字符结尾的,则可以使用nNewLength 指定字符串的长度。
在调用ReleaseBuffer 或其它CString 操作之后,由GetBuffer 返回的地址是无效的。
示例:下面的例子说明了如何使用CString::ReleaseBuffer。
// CString::ReleaseBuffer 示例CString s;s = "abc";LPTSTR p = s.GetBuffer( 1024 );strcpy(p, "abc"); // 直接使用该缓冲区ASSERT( s.GetLength() == 3 ); // 字符串长度 = 3s.ReleaseBuffer(); // 释放多余的内存,现在p 无效。
ASSERT( s.GetLength() == 3 ); // 长度仍然是39.CString::Removeint CString::Remove ( TCHAR ch );返回值:返回从字符串中移走的字符数。
如果字符串没有改变则返回零。
参数:ch 要从一个字符串中移走的字符。
说明:此成员函数用来将ch 实例从字符串中移走。
与这个字符的比较是区分大小写的。
示例:// 从一个句子中移走小写字母'c':CString str (“This is a test.”);int n = str.Remove( 't' );ASSERT( n == 2 );ASSERT( str ==“This is a es. ” );10.CString::Replaceint Replace( TCHAR chOld, TCHAR chNew );int Replace( LPCTSTR lpszOld, LPCTSTR lpszNew );返回值:返回被替换的字符数。
如果这个字符串没有改变则返回零。
参数:chOld 要被chNew 替换的字符。
chNew 要用来替换chOld 的字符。
lpszOld 一个指向字符串的指针,该字符串包含了要被lpszNew 替换的字符。
LpszNew 一个指向字符串的指针,该字符串包含了要用来替换lpszOld 的字符。
说明:此成员函数用一个字符替换另一个字符。
函数的第一个原形在字符串中用chNew现场替换chOld。
函数的第二个原形用lpszNew 指定的字符串替换lpszOld 指定的子串。
在替换之后,该字符串有可能增长或缩短;那是因为lpszNew 和lpszOld 的长度不需要是相等的。
两种版本形式都进行区分大小写的匹配。
示例:// 第一个例子,old 和new 具有相同的长度。
CString strZap( “C - -” );int n = strZap.Replace('-', '+' );ASSERT( n == 2 );ASS ERT(strZap == “C++” );// 第二个例子,old 和new 具有不同的长度。
CString strBang( “Everybody likes ice hockey” );n = strBang.Replace( “hockey”, “golf” );ASSERT( n ==1 );n = strBang.Replace ( “likes” , “plays” );ASSERT( n == 1 );n = strBang.Replace( “ice”, NULL );ASSERT( n == 1 );ASSERT( strBang == “Everybody plays golg” );// 注意,现在在你的句子中有了一个额外的空格。
// 要移走这个额外的空格,可以将它包括在要被替换的字符串中,例如,“ice ”。
11.CString::ReverseFindint ReverseFind( TCHAR ch ) const;返回值: 返回此CString 对象中与要求的字符匹配的最后一个字符的索引;如果没有找到需要的字符则返回-1。
参数: ch 要搜索的字符。
说明:此成员函数在此CString 对象中搜索与一个子串匹配的最后一个字符。
此函数类似于运行时函数strrchr。
示例:// CString::ReverseFind 示例CString s( "abcabc" );ASSERT( s.ReverseFind( 'b' ) == 4 );12.CString::RightCString Right( int nCount ) const;throw( CMemoryException );返回值:返回的字符串是最后nCount个字符。
CString s( _T("abcdef") );ASSERT( s.Right(2) == _T("ef") );13.CString:: SetAtvoid SetAt( int nIndex, TCHAR ch );说明:可以把字符串理解为一个数组,SetAt类似于[].注意nIndex的范围,如果不合适会有调试错误。
Ch 更替字符, 把nIndex位置上的字符变成ch示例:CString s( "abc" );s.MakeReverse();ASSERT( s == "cba" );14.CString::TrimLeftvoid TrimLeft( );void CString::TrimLeft( TCHAR chTarget );说明:如果没有参数,从左删除字符(\n\t空格等),至到遇到一个非此类字符. 当然你也可以指定删除那些字符. 如果指定的参数是字符串,那么遇上其中的一个字符就删除.\n 换行符\t TAB字符示例1:CString str = "\n\t a";str.TrimLeft();str为“a”;示例2:CString str = "abbcadbabcadb ";str.TrimLeft("ab");结果"cadbabcadb "str.TrimLeft("ac");结果"bcadbabcadb "15.CString::TrimRightvoid TrimRight( );void CString::TrimRight( TCHAR chTarget );void CString::TrimRight( LPCTSTR lpszTargets );说明:用法类似于上面。
16.CString::Compareint Compare( LPCTSTR lpsz ) const;返回值:字符串一样返回0,小于lpsz 返回-1,大于lpsz 返回1, 区分大小字符示例:CString s1( "abc" );CString s2( "abd" );ASSERT( pare( s2 ) == -1 );ASSERT( pare( "abe" ) == -117.CString::CompareNoCaseint CompareNoCase( LPCTSTR lpsz ) const;返回值:字符串一样返回0,小于lpsz 返回-1,大于lpsz 返回1,不区分大小字符18.CString::Collateint Collate( LPCTSTR lpsz ) const;同CString::Compare19.CString::CollateNoCaseint CollateNocase( LPCTSTR lpsz ) const;同CString::CompareNoCase20.CString::CString //构造函数CString( );CString( const CString& stringSrc );CString( TCHAR ch, int nRepeat = 1 );CString( LPCTSTR lpch, int nLength );CString( const unsigned char* psz );CString( LPCWSTR lpsz );CString( LPCSTR lpsz );示例:CString s1;CString s2( "cat" );CString s3 = s2;CString s4( s2 + " " + s3 );CString s5( 'x' ); // s5 = "x"CString s6( 'x', 6 ); // s6 = "xxxxxx"CString s7((LPCSTR)ID_FILE_NEW); // s7 = "Create a new document"CString city = "Philadelphia";21.CString::Deleteint Delete( int nIndex, int nCount = 1);返回值:是被删除前的字符串的长度nIndex是第一个被删除的字符,nCount是一次删除几个字符。