String的用法
String类仅仅查找操作 就为我们提供了6种查找函数,每种函数以不同形式的find命名。
find、rfind、find_first_of 、find_first_not_of、find_last_of 、find_last_not_of
这些都是const成员函数,const 也就是说,它们只是为了针对某种用途去寻找子串的位置,并不能够改变它们所作用的那个串的值。
这些操作全都返回string::size_type类型的值,也就是说,返回的结果是一个unsigned值(即,无符号整形)。要么是以下标形式查找匹配所发生的位置(也就是返回当前查找到的子串下标);或者返回一个名为string::npos类型的值,说明查找没有匹配,也就是找不到你所查找的字符。就这么两种形式,要么是返回下标,要么返回npos。
每个查找操作都有4个重载版本,每个版本使用不同的参数形式。基本上,这些操作的不同之处在于查找的到底是 单个字符, 还是另一个string字符串,或者 c风格的以空字符结束的字符串,还是用字符数组给出的特定数目的字符集合。
比如说:
size_type find(const basic_string &s , size_type i=0) const;
const修饰函数参数是它最广泛的一种用途,它表示函数体中不能修改参数的值(包括参数本身的值或者参数其中包含的值)。
注:
basic_string::npos
An unsigned integral value initialized to –1 that indicates either "not found" or "all remaining characters" when a search function fails.
static const size_type npos = -1;
1、Find 查找子串 第一次出现的位置
Searches a string in a forward direction for the first occurrence of a substring that matches a specified sequence of characters
最简单的查找操作就是find函数了。用于寻找实参指定的内容。如果能找到的话,则返回第一次匹配的下标值;如果找不到,则返回npos。
在此,我们首先定义一个字符串。
String s(“hello world”);//定义一个string变量s
String::size_type pos= (args);//args –>参数
if (pos!= string::npos )
cout<<pos;
Msdn:find method
4种重载形式:
=();
value_type 相当于 char
//在s中,从下标_off标记的位置开始,查找字符_ch, _off 的默认值为0.
size_type find(
value_type _Ch, size_type_Off = 0) const;
//在s中,从下标_off标记的位置开始,查找指针_ptr所指向的C风格的以空字符\0结束的字符串
String中字符串查找 来自淘豆网m.daumloan.com转载请标明出处.