21xrx.com
2024-12-22 17:00:33 Sunday
登录
文章检索 我的文章 写文章
C++中string类的find函数及其使用方法
2023-07-07 06:17:57 深夜i     --     --
C++ string类 find函数 使用方法

在C++中,string类是非常常用的一个类,其拥有众多方便的功能。其中,find函数是其一个非常重要的函数,它可以帮助我们在一个字符串中查找另一个子字符串的位置。接下来,我们将逐步介绍C++中string类的find函数及其使用方法。

C++中string类的find函数是一个非常常用的函数,其作用是在一个字符串中查找另一个子字符串的位置,并返回这个子字符串在原字符串中的起始位置。它的语法如下:


size_t find(const string& str, size_t pos = 0) const noexcept;

size_t find(const char* s, size_t pos = 0) const;

size_t find(const char* s, size_t pos, size_t n) const;

size_t find(char c, size_t pos = 0) const noexcept;

其中,第一个参数表示要查找的子字符串,可以是string类型、char*类型、char*类型和子字符串长度,或者char类型;第二个参数表示在原字符串中查找的起始位置,它是可选的参数。

下面我们通过一些示例来演示string类的find函数的使用方法。

**示例1:查找字符串中的子字符串**

假设我们要在字符串中查找子字符串"ello"的位置,代码如下:


string str = "hello world";

size_t pos = str.find("ello");

if (pos != string::npos)

  cout << "子字符串位置为:" << pos << endl;

else

  cout << "没有找到子字符串" << endl;

以上代码中,我们首先定义了一个string类型的变量str,并将其初始化为"hello world"。然后使用find函数查找子字符串"ello"的位置,并将结果存储在变量pos中。如果找到了子字符串,pos的值就是子字符串的起始位置;否则pos的值为string::npos,表示未找到子字符串。最后根据pos的值输出结果。

**示例2:查找从某个位置开始的子字符串**

假设我们要从字符串中的第3个字符开始查找子字符串"lo"的位置,代码如下:


string str = "hello world";

size_t pos = str.find("lo", 2);

if (pos != string::npos)

  cout << "子字符串位置为:" << pos << endl;

else

  cout << "没有找到子字符串" << endl;

以上代码中,我们在调用find函数时指定第二个参数为2,表示从字符串的第3个字符开始查找子字符串"lo"的位置。

**示例3:查找单个字符的位置**

假设我们要在字符串中查找字符"o"的位置,代码如下:


string str = "hello world";

size_t pos = str.find('o');

if (pos != string::npos)

  cout << "字符位置为:" << pos << endl;

else

  cout << "没有找到字符" << endl;

以上代码中,我们调用了find函数的另一种形式,即查找单个字符的位置。在调用时,我们将查找的字符作为char类型的参数传递给了find函数。

总结:C++中string类的find函数是一个非常方便的函数,可以帮助我们在字符串中查找子字符串或单个字符的位置。在使用时,我们需要注意find函数的各个参数及其作用,以便正确使用该函数。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复