CString 里的一些函数与VB里字符串处理的函数很多都是类似的。
1.CString::IsEmpty
BOOL IsEmpty( ) const;
返回值:如果CString 对象的长度为0,则返回非零值;否则返回0。
说明:此成员函数用来测试一个CString 对象是否是空的。
示例:
下面的例子说明了如何使用CString::IsEmpty。
// CString::IsEmpty 示例
CString s;
ASSERT( s.IsEmpty() );
请参阅 CString::GetLength
2.CString::Left
CString Left( int nCount ) const;
throw( CMemoryException );
返回值:返回的字符串是前nCount个字符。
示例:
CString s( _T("abcdef") );
ASSERT( s.Left(2) == _T("ab") );
3.CString::LoadString
BOOL LoadString( UINT nID );
throw( CMemoryException );
返回值:如果加载资源成功则返回非零值;否则返回0。
nID 一个Windows 字符串资源ID。
说明: 此成员函数用来读取一个由nID 标识的Windows 字符串资源,并放入一个已有CString 对象中。
示例:
下面的例子说明了如何使用CString::LoadString。
// CString::LoadString 示例
#define IDS_FILENOTFOUND 1
CString s;
if (! s.LoadString( IDS_FILENOTFOUND ))
4.CString::MakeLower
void MakeLower( ); //改变字符的小写
5.CString::MakeReverse
void MakeReverse( ); //字符倒置
6.CString::MakeUpper
void MakeUpper( ); //改变字符的大写
7.CString::Mid
CString 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::ReleaseBuffer
c++strcpy函数用法void 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 ); // 字符串长度 = 3
s.ReleaseBuffer(); // 释放多余的内存,现在p 无效。
ASSERT( s.GetLength() == 3 ); // 长度仍然是3
9.CString::Remove
int 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::Replace
int 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 );
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论