ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:19.16KB ,
资源ID:1889999      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-1889999.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(CString操作函数详解.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

CString操作函数详解.docx

1、CString操作函数详解VC:CString用法整理(转载)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( CMemory

2、Exception );返回值:返回的字符串是前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

3、。/ 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 n

4、First, 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 来结束对由

5、GetBuffer 分配的缓冲区的使用。如果你知道缓冲区中的字符串是以空字符结尾的,则可以省略nNewLength 参数。如果字符串不是以空字符结尾的,则可以使用nNewLength 指定字符串的长度。在调用ReleaseBuffer 或其它CString 操作之后,由GetBuffer 返回的地址是无效的。示例:下面的例子说明了如何使用CString:ReleaseBuffer。/ CString:ReleaseBuffer 示例CString s;s = abc;LPTSTR p = s.GetBuffer( 1024 );strcpy(p, abc); / 直接使用该缓冲区ASSERT(

6、 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

7、 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 一

8、个指向字符串的指针,该字符串包含了要用来替换lpszOld 的字符。说明:此成员函数用一个字符替换另一个字符。函数的第一个原形在字符串中用chNew现场替换chOld。函数的第二个原形用lpszNew 指定的字符串替换lpszOld 指定的子串。在替换之后,该字符串有可能增长或缩短;那是因为lpszNew 和lpszOld 的长度不需要是相等的。两种版本形式都进行区分大小写的匹配。示例:/ 第一个例子,old 和new 具有相同的长度。CString strZap( “C - -” );int n = strZap.Replace(-, + );ASSERT( n = 2 );ASSERT(s

9、trZap = “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” );/ 注意,

10、现在在你的句子中有了一个额外的空格。/ 要移走这个额外的空格,可以将它包括在要被替换的字符串中,例如,“ice ”。11.CString:ReverseFindint ReverseFind( TCHAR ch ) const;返回值: 返回此CString 对象中与要求的字符匹配的最后一个字符的索引;如果没有找到需要的字符则返回-1。参数: ch 要搜索的字符。说明:此成员函数在此CString 对象中搜索与一个子串匹配的最后一个字符。此函数类似于运行时函数strrchr。示例:/ CString:ReverseFind 示例CString s( abcabc );ASSERT( s.Rev

11、erseFind( 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位置上的字符

12、变成ch示例:CString s( abc );s.MakeReverse();ASSERT( s = cba );14.CString:TrimLeftvoid TrimLeft( );void CString:TrimLeft( TCHAR chTarget );说明:如果没有参数,从左删除字符(nt空格等),至到遇到一个非此类字符. 当然你也可以指定删除那些字符. 如果指定的参数是字符串,那么遇上其中的一个字符就删除.n 换行符t TAB字符示例1:CString str = nt a;str.TrimLeft();str为“a”;示例2:CString str = abbcadbabc

13、adb ;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, 区分大小字符示例:

14、CString s1( abc );CString s2( abd );ASSERT( s1.Compare( s2 ) = -1 );ASSERT( s1.Compare( abe ) = -117.CString:CompareNoCaseint CompareNoCase( LPCTSTR lpsz ) const;返回值: 字符串一样 返回0,小于lpsz 返回-1,大于lpsz 返回1,不区分大小字符18.CString:Collateint Collate( LPCTSTR lpsz ) const;同CString:Compare19.CString:CollateNoCasei

15、nt 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

16、s1;CString s2( cat );CString s3 = s2;CString s4( s2 + + s3 );CString s5( x ); / s5 = xCString s6( x, 6 ); / s6 = xxxxxxCString s7(LPCSTR)ID_FILE_NEW); / s7 = Create a new documentCString city = Philadelphia;21.CString:Deleteint Delete( int nIndex, int nCount = 1);返回值:是被删除前的字符串的长度nIndex是第一个被删除的字符,nCo

17、unt是一次删除几个字符。根据我实验得出的结果:当nCount要删除字符串的最大长度(GetCount() - nIndex)时会出错,当nCount过大,没有足够的字符删除时,此函数不执行。示例:CString str1,str2,str3;char a;str1 = nihao;str2 = nIhao;int x;/ int i=(str1 = str2);str1.Delete(2,3);如果nCount(3) GetCount() nIndex (5-2)就会执行错误22.CString:EmptyVoid Empty( );返回值:没有返回值 清空操作;示例:CString s(

18、abc );s.Empty();ASSERT( s.GetLength( ) = 0 );23.CString:Findint Find( TCHAR ch ) const;int Find( LPCTSTR lpszSub ) const;int Find( TCHAR ch, int nStart ) const;int Find( LPCTSTR lpszSub, int nStart ) const;返回值: 不匹配的话返回 -1; 索引以0 开始; nStar 代表以索引值nStart 的字符开始搜索 ,即为包含以索引nStart字符后的字符串.示例:CString s( abcde

19、f );ASSERT( s.Find( c ) = 2 );ASSERT( s.Find( de ) = 3 );Cstring str(“The stars are aligned”);Ing n = str.Find(e,5);ASSERT(n = 12)24.CString:FindOneOfint FindOneOf( LPCTSTR lpszCharSet ) const;返回值: 不匹配的话返回 -1; 索引以0 开始注意:返回此字符串中第一个在lpszCharSet中也包括字符并且从零开始的索引值示例:CString s( abcdef );ASSERT( s.FindOneOf

20、( xd ) = 3 ); / d is first match.25.CString:Formatvoid Format( LPCTSTR lpszFormat, . );void Format( UINT nFormatID, . );参数:lpszFormat 一个格式控制字符串nFormatID 字符串标识符示例:CString str;Str.Format(“%d”,13);此时Str为1326.CString:GetAtTCHAR GetAt( int nIndex ) const;返回值:返回标号为nIndex的字符,你可以把字符串理解为一个数组,GetAt类似于.注意nInde

21、x的范围,如果不合适会有调试错误。27.CString:GetBufferLPTSTR GetBuffer( int nMinBufLength );返回值:一个指向对象的(以空字符结尾的)字符缓冲区的LPTSTR 指针。参数:nMinBufLength字符缓冲区的以字符数表示的最小容量。这个值不包括一个结尾的空字符的空间。说明:此成员函数返回一个指向CString 对象的内部字符缓冲区的指针。返回的LPTSTR 不是const,因此可以允许直接修改CString 的内容。如果你使用由GetBuffer 返回的指针来改变字符串的内容,你必须在使用其它的CString 成员函数之前调用Relea

22、seBuffer 函数。在调用ReleaseBuffer 之后,由GetBuffer 返回的地址也许就无效了,因为其它的CString 操作可能会导致CString 缓冲区被重新分配。如果你没有改变此CString 的长度,则缓冲区不会被重新分配。当此CString 对象被销毁时,其缓冲区内存将被自动释放。注意:如果你自己知道字符串的长度,则你不应该添加结尾的空字符。但是,当你用ReleaseBuffer 来释放该缓冲区时,你必须指定最后的字符串长度。如果你添加了结尾的空字符,你应该给ReleaseBuffer 的长度参数传递-1 ,ReleaseBuffer 将对该缓冲区执行strlen 来

23、确定它的长度。示例:/ CString:GetBuffer 例子CString s( abcd );#ifdef _DEBUGafxDump CString s s n;#endifLPTSTR p = s.GetBuffer( 10 );strcpy( p, Hello ); / 直接访问CString 对象。s.ReleaseBuffer( );#ifdef _DEBUGafxDump CString s s n;#endif28.CString:GetLengthint GetLength( ) const;返回值:返回字符串中的字节计数。说明:此成员函数用来获取这个CString 对象

24、中的字节计数。这个计数不包括结尾的空字符。对于多字节字符集(MBCS),GetLength 按每一个8 位字符计数;即,在一个多字节字符中的开始和结尾字节被算作两个字节。示例下面的例子说明了如何使用CString:GetLength。/ CString:GetLength 示例CString s( abcdef );ASSERT( s.GetLength() = 6 );29.CString:Insertint Insert( int nIndex, TCHAR ch );int Insert( int nIndex, LPCTSTR pstr );返回值:返回修改后的长度,nIndex是字符

25、(或字符串)插入后的索引号例子示例:CString str( “HockeyBest”);int n = str.Insert( 6, “is” );ASSERT( n = str.GetLength( ) );printf( “1: %sn”, ( LPCTSTR ) str );n = str.Insert( 6, );ASSERT( n = str.GetLength( ) );printf ( “2: %sn”, (LPCTSTR) STR );n = str.Insert(555, 1);ASSERT( n = str.GetLength ( ) );printf ( “3: %sn”, ( LPCTSTR ) str );输出1. Hockeyis Best2. Hockey is Best3. Hockey is Best!转自:

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2