21xrx.com
2024-11-25 01:16:30 Monday
登录
文章检索 我的文章 写文章
C++字符串查找
2023-07-05 12:16:00 深夜i     --     --
C++ string 查找 find 字符串函数

C++是一门广泛使用的编程语言,其应用领域之一便是字符串查找。字符串查找功能在很多场景中都非常常见,比如在文本编辑器中查找指定字符串、在网络数据传输中检索相关信息等等。

在C++中,我们可以使用多种方式来实现字符串查找功能。其中最常用的方法是使用STL库中的字符串查找函数。这些函数包括find()、find_first_of()、find_last_of()等等,它们能够完成许多常见的字符串查找任务。

使用STL库中的字符串查找函数是非常简单的。我们只需要在代码中包含 头文件,然后就可以立即使用这些函数了。例如,我们可以使用以下代码来在一个字符串中查找指定的子串:


#include <iostream>

#include <string>

using namespace std;

int main()

{

  string str = "Hello, world!";

  string sub_str = "world";

  int pos = str.find(sub_str);

  if (pos != string::npos)

    cout << "Substring found at position " << pos << endl;

  else

    cout << "Substring not found" << endl;

  return 0;

}

在上述代码中,我们先定义了一个字符串str和一个子串sub_str,然后使用find()函数在str中查找sub_str。如果该函数返回string::npos(即未找到),则说明sub_str不存在于str中;否则,我们可以通过返回值pos来获取sub_str在str中的位置。

除了STL库提供的字符串查找函数以外,C++还提供了其他一些字符串查找方法。例如,我们可以使用标准C库中的strstr()函数来查找一个字符串中的子串。这个函数的使用方法类似于find()函数,只是我们需要将参数类型稍作修改:


#include <iostream>

#include <cstring>

using namespace std;

int main()

{

  char str[] = "Hello, world!";

  char sub_str[] = "world";

  char* pos = strstr(str, sub_str);

  if (pos)

    cout << "Substring found at position " << pos - str << endl;

  else

    cout << "Substring not found" << endl;

  return 0;

}

在上述代码中,我们将str和sub_str都定义为char类型的字符数组,并使用strstr()函数在str中查找sub_str。该函数的返回值为指向字符串中第一次出现sub_str的指针,如果未找到,则返回NULL。

总之,C++提供了多种方法来实现字符串查找功能,我们只需要选择适合自己应用场景的方法即可。无论是使用STL库中的字符串查找函数还是标准C库中的字符串查找函数,我们都可以轻松地实现字符串查找功能。

  
  

评论区

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