F.5 字符串搜索

2013-10-07 15:48:11 · 作者: · 浏览: 68

F.5  字符串搜索

string类提供了6种搜索函数,其中每个函数都有4个原型。下面简要地介绍它们。

F.5.1  find( )系列

C++(www.cppentry.com)11中,find( )的原型如下:

 

第一个返回str在调用对象中第一次出现时的起始位置。搜索从pos开始,如果没有找到子字符串,将返回npos。

下面的代码在一个字符串中查找字符串"hat"的位置:

 
由于第二条搜索语句从位置2开始(That中的a),因此它找到的第一个hat位于字符串尾部。要测试是否失败,可使用string::npos值:
 
第二个方法完成同样的工作,但它使用字符数组而不是string对象作为子字符串:
 
第三个方法完成相同的工作,但它只使用字符串s的前n个字符。这与使用basic_string(const charT * s,size_type n)构造函数,然后将得到的对象用作第一种格式的find( )的string参数的效果完全相同。例如,下面的代码搜索子字符串"fun":
 
第四个方法的功能与第一个相同,但它使用一个字符而不是string对象作为子字符串: