21xrx.com
2024-09-20 00:29:55 Friday
登录
文章检索 我的文章 写文章
C++中字符串查找函数find的用法
2023-07-01 18:08:02 深夜i     --     --
C++ 字符串 查找函数 find 用法

在C++中,字符串是一种非常重要的数据类型。在许多实际场景中,我们需要查找一个字符串中是否包含了某个特定的子字符串。为了实现这个功能,C++提供了一个字符串查找函数——find。

find函数是C++STL中的一部分,在 头文件中声明,它的作用是在字符串中查找指定的子串。其函数原型如下:


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

其中,str表示要查找的子字符串;pos表示查找的起始位置,默认为0。

下面是一个简单的例子,展示了find函数的基本用法:


#include <iostream>

#include <cstring>

using namespace std;

int main() {

  string str = "hello world";

  size_t found = str.find("world");

  if (found != string::npos)

    cout << "子串 'world' 在字符串中的位置是:" << found << endl;

   else

    cout << "未找到指定的子串" << endl;

  

  return 0;

}

在上面的例子中,我们定义了一个字符串str,然后通过调用find函数查找其中是否包含子串"world"。由于"world"确实出现在字符串中,因此find函数返回了子串的起始位置。

需要注意的是,find函数返回的是一个无符号整数类型。如果查找成功,函数返回子串在字符串中的起始位置,如果查找失败,函数返回-1(对应的无符号类型是string::npos)。

另外,find函数同时支持查找某个字符在字符串中的位置,例如:


#include <iostream>

#include <cstring>

using namespace std;

int main() {

  string str = "hello world";

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

  while (found != string::npos) {

    cout << "字符 'o' 在字符串中的位置是:" << found << endl;

    found = str.find('o', found + 1);

  }

  return 0;

}

在上面的例子中,find函数通过查找字符'o'在字符串中的位置,找到了两个对应的位置。需要注意的是,在查找成功后,我们不仅需要输出对应的位置,还需要继续查找,直到find函数返回string::npos,即无法找到更多的字符'o'为止。

总的来说,find函数是C++中处理字符串的重要工具,它可以方便地查找指定的子字符串或字符在一个字符串中的位置,从而在实际开发中为我们带来极大的便利。

  
  

评论区

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