C++ string的查找函数和npos特殊值

STL中的string有6个查找函数:

1.find()

2.rfind()

从最后一个字符开始往前找。

3.find_first_of()

4.find_not_first_of()

5.find_last_of()

6.find_not_last_of()

所有这些查找函数返回值都是size_type类型(找到了)或者是一个名为 string::npos的特殊值(没找到)。

string::npos常用来表示没找到的结果或者string类型的末尾。

#include <iostream>
#include <bitset>
#include <string>

int main()
{
    // string search functions return npos if nothing is found
    std::string s = "test";
    if(s.find(‘a‘) == std::string::npos)
        std::cout << "no ‘a‘ in ‘test‘\n";

    // functions that take string subsets as arguments
    // use npos as the "all the way to the end" indicator
    std::string s2(s, 2, std::string::npos);
    std::cout << s2 << ‘\n‘;

    std::bitset<5> b("aaabb", std::string::npos, ‘a‘, ‘b‘);
    std::cout << b << ‘\n‘;
}//输出结果/*
no ‘a‘ in ‘test‘
st
00011
*/
时间: 2024-10-10 04:42:17

C++ string的查找函数和npos特殊值的相关文章

[C++]string类的查找函数

string类的查找函数: int find(char c, int pos = 0) const;//从pos开始查找字符c在当前字符串的位置 int find(const char *s, int pos = 0) const;//从pos开始查找字符串s在当前串中的位置 int find(const char *s, int pos, int n) const;//从pos开始查找字符串s中前n个字符在当前串中的位置 int find(const string &s, int pos =

C++ string类及其函数的讲解

文章来源于:http://www.cnblogs.com/hailexuexi/archive/2012/02/01/2334183.html C++中string是标准库中一种容器,相当于保存元素类型为char的vector容器(自己理解),这个类提供了相当丰富的函数来完成对字符串操作,以及与C风格字符串之间转换,下面是对string一些总结<引用> 一,C语言的字符串 在C语言里,对字符串的处理一项都是一件比较痛苦的事情,因为通常在实现字符串的操作的时候都会用到最不容易驾驭的类型——指针.

string 类常用函数[转]

string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1:string s2="hello":都是正确的写法.当构造的string太长而无法表达时会抛出length_error异常 string类的字符操作:const char &operator[](int n)const;const char &a

string类find函数返回值判定

 string类find函数返回值判定 代码示例 #include<iostream> #include<cstring> using namespace std; int main() { static const size_t npos = -1; string s = "Alice Bob Charlie"; size_t position; position = s.find("none"); //position = s.find(

关于C++的STRING的成员函数汇总

string类的构造函数: string(const char *s);    //用c字符串s初始化 string(int n,char c);      //用n个字符c初始化  此外,string类还支持默认构造函数和复制构造函数,如string s1:string s2="hello":都是正确的写法.当构造的string太长而无法表达时会抛出length_error异常 string类的字符操作: const char &operator[](int n)const;

C++中string的成员函数

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

String字符串处理函数

开发习惯常用字符串处理函数梳理:strtr() 转换字符串中特定的字符.substr() 返回字符串的一部分.strstr() 搜索字符串在另一字符串中的首次出现(对大小写敏感)str_replace() 替换字符串中的一些字符.(对大小写敏感)strcmp() 比较两个字符串.(对大小写敏感)strlen() 返回字符串的长度.substr_count() 计算子串在字符串中出现的次数.substr_replace() 把字符串的一部分替换为另一个字符串 implode() 把数组元素组合为一

PHP中String字符串处理函数完整版

文章来源:PHP开发学习门户 地址:http://www.phpthinking.com/archives/602 开发习惯常用字符串处理函数梳理: strtr() 转换字符串中特定的字符. substr() 返回字符串的一部分. strstr() 搜索字符串在另一字符串中的首次出现(对大小写敏感) str_replace() 替换字符串中的一些字符.(对大小写敏感) strcmp() 比较两个字符串.(对大小写敏感) strlen() 返回字符串的长度. substr_count() 计算子串

有意思的字符串查找函数

通过一段时间对字符串的了解,我发现了许多有意思的字符串函数,下面我们就以常见的字符串查找函数:strchr,strrchr,strstr,strrstr为例来模拟实现这些有意思的字符串查找函数. [strchr][strrchr] 查找一个字符,有所不同的是:strchr用于查找这个字符第一次出现的位置,strrchr用于查找这个字符最后一次出现的位置.下面我们就来打开MSDN来查找这两个字符查找函数的函数原型: char *strchr(const char *string,int c) ch