关于TCHAR, char, wchar_t三种字符类型的区别,会在随后的文章中详细解释!下面是一、CString类的几种基本操作:
1、长度:GetLength();
CString str(_T("abc"));
int len = str.GetLength(); //len == 3
2、是否为空(即不含字符):IsEmpty();
3、清空字符串:Empty();
CString str(_T("abc"));
BOOL mEmpty = str.IsEmpty(); //mEmpty == FALSE
str.Empty();
mEmpty = str.IsEmpty(); //mEmpty == TRUE
4、转换大小写: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 == ab
strResult = str.Mid(1); //strResult == bcd
strResult = str.Mid(0, 2); //strResult == ab
strResult = str.Right(2); //strResult == cd
四、其他类型与CString类型的转换,CString str;
cstring转为int1、格式化字符串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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。