public static member function
<string>
static const char_type* find (const char_type* p, size_t n, const char_type& c);
查找字符的首次出现
返回指向 p 指向的 n 个字符序列中与 c 相等的第一个字符的指针。
所有字符特征类型都应实现该函数,就像使用成员 eq比较各个字符一样。
参数
- p
- 指向包含字符序列的数组的指针。
请注意,该函数将认为序列的长度为 n 个字符,而不管它是否包含空字符。
- n
- 要比较的字符序列的长度(以字符为单位)。
- c
- 一个字符值。
成员类型char_type是字符类型(即,char_traits 中的类模板参数)。
size_t 是一个无符号整数类型。
返回值
如果存在第一个匹配项,则为指向该匹配项的指针;否则为空指针。
示例
1 2 3 4 5 6 7 8 9 10 11
|
// char_traits::find
#include <iostream> // std::cout
#include <string> // std::char_traits
int main ()
{
const char foo[] = "test string";
const char* p = std::char_traits<char>::find(foo,std::char_traits<char>::length(foo),'i');
if (p) std::cout << "the first 'i' in \"" << foo << "\" is at " << (p-foo) << ".\n";
return 0;
}
|
输出
the first 'i' in "test string" is at 8.
|
异常安全
除非 p 指向的数组不够长,否则此成员函数在任何标准特化中都不会引发异常(无抛出保证)。
否则,将导致未定义行为。