CString之Find()、FindOneOf()、ReverseFind()

摘要:
示例如下:1CStrings;2ASSERT;返回值:如果查到,返回以0索引起始的位置未查到,返回-12、FindOneOf()给定一字符串,然后查找其中出现的第一个字符位置,示例如下:1CStrings;2ASSERT;返回值:如果查到,返回以0索引起始的位置未查到,返回-13、ReverseFind()该函数反向查找字符出现的位置。

一、CString之Find()、FindOneOf()、ReverseFind()

此三个函数返回值均为整数int。

1、Find()

该函数从左侧0索引开始,查找第一个出现的字符位置,返回position。示例如下:

1CString s("abcd");
2ASSERT( s.Find('b') == 1 );

返回值:

  • 如果查到,返回以0索引起始的位置
  • 未查到,返回-1

2、FindOneOf()

给定一字符串,然后查找其中出现的第一个字符位置,示例如下:

1CString s("abcdef");
2ASSERT( s.FindOneOf("zb") == 1 );

返回值:

  • 如果查到,返回以0索引起始的位置
  • 未查到,返回-1

3、ReverseFind()

该函数反向查找字符出现的位置。示例如下:

1CString s("abcd");
2ASSERT( s.ReverseFind('b') == 2 );

返回值:

  • 如果查到,返回以0索引起始的位置
  • 未查到,返回-1

二、CString之Left()、Mid()、Right()

查找完成后,我们可能需要截取字符串。CString有如下几个字符串截取函数。

1、Left(int nCount)

该函数截取左侧nCount个字符,如果遇到双字节字符(下面Mid和Right同样理解),比如中文,则可能会截断乱码。因为nCount是按照字节计数的。

2、Mid(int nFirst)和Mid( int nFirst, int nCount)

Mid(int nFirst)函数截取从nFirst开始,直到字符串结束的字符串。

Mid( int nFirst, int nCount)函数则截取从nFirst开始,截取nCount个字节字符。

3、Right(int nCount)

该函数截取右侧nCount个字节字符。

Left()、Mid()、Right()函数示例如下:

1CString s="天缘博客";//_T("天缘博客")
2CString s1=s.Left(3);//天?
3CString s2=s.Mid(3);//?博客
4CString s4=s.Right(3);//?客
5
6s="123456789";
7s1=s.Left(3);//123
8s2=s.Mid(3);//456789
9s4=s.Right(3);//789

更多参考:

免责声明:文章转载自《CString之Find()、FindOneOf()、ReverseFind()》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇让程序在崩溃时体面的退出转Reporting services 开发日志下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

phpcms 字符截取str_cut的使用

PHPCMS中截取字符串用的是 str_cut 系统函数,通常在输出标题或者是内容摘要的时候使用来限制字符串的字符,这样就可以防止因字符串而变成的页面变形等问题。 我们来看一下这个函数,在PHPCMS中是这样进行定义的: function str_cut($string, $length, $dot = '...') 其中 $string 是要进行处理的字...

sed在行首或者行尾添加内容

用sed命令在行首或行尾添加字符的命令有以下几种: 假设处理的文本为test.file 在每行的头添加字符,比如"HEAD",命令如下: sed 's/^/HEAD&/g' test.file 在每行的行尾添加字符,比如“TAIL”,命令如下: sed 's/$/&TAIL/g' test.file 运行结果如下图: 几点说明: 1."...

C++ fscanf 读取一整行

scanf, fscanf很相似,都是从流中读取输入,然后赋值给变量 int scanf(const char *format, ...) int fscanf(FILE *stream, const char *format,...) %c 单一字符 %[] 一个字符集 * 输入项读入后跳过,不赋予任何变量 scanf, fscanf 自动跳过tabs和...

字符串匹配算法

一、简介 文本信息可以说是迄今为止最主要的一种信息交换手段,而作为文本处理中的一个重要领域——字符串匹配,就是我们今天要说的话题。(原文还特意提及文本数据数量每18个月翻一番,以此论证算法必须要是高效的。不过我注意到摩尔定律也是18个月翻番,这正说明数据的增长是紧紧跟随处理速度的,因此越是使用高效的算法,将来待处理的数据就会越多。这也提示屏幕前的各位,代码...

关于WINFORM中输入法的设置

关于WINFORM中输入法的设置 (转) johnsuna(阿山NET)的专栏 开发中正好遇到这类问题,网络真好啊:)下面是正文收集,感谢作者的辛勤工作给我们带来的便利. 在WINFORM中我们经常遇到文本输入框中输入法被禁用或老是变全角输入法等问题,经查阅相关资料,现小结如下: (一)Control.ImeMode 属性:获取或设置控件的输入法编辑器...

Base64编解码算法详解(附C/C++源码)[转自CSDN]

Base64不是什么新奇的算法了,不过如果你没从事过页面开发(或者说动态页面开发,尤其是邮箱服务),你都不怎么了解过,只是听起来很熟悉。对于黑客来说,Base64与MD5算法有着同样的位置,因为电子邮箱(e-mail)正文就是base64编码的。那么,我们就一起来深入的探讨一下这个东东吧。对于一种算法,与其问“它是什么?”,不如问“它实现了什么?”Base...