📜  在字符串 C++ 中查找子字符串(1)

📅  最后修改于: 2023-12-03 14:51:25.922000             🧑  作者: Mango

在字符串 C++ 中查找子字符串

在 C++ 中,查找一个字符串中的子字符串可以使用以下两种方法:

方法一:使用 string::find 函数

string 类提供了一个 find 函数,用于查找一个字符串中是否包含另一个字符串,若包含则返回其第一个出现的位置,否则返回 string::npos。使用示例代码如下:

#include <iostream>
#include <string>

using namespace std;

int main() {
    string str = "Hello, world!";
    string sub = "world";

    if (str.find(sub) != string::npos) {
        cout << "Found" << endl;
    } else {
        cout << "Not found" << endl;
    }

    return 0;
}

代码执行输出结果为:Found

方法二:使用 C 库函数 strstr

C 库函数 strstr 可以用于查找一个字符串中是否包含另一个字符串,如果包含则返回其第一个出现的位置,否则返回 NULL。使用示例代码如下:

#include <iostream>
#include <cstring>

using namespace std;

int main() {
    const char* str = "Hello, world!";
    const char* sub = "world";

    if (strstr(str, sub) != NULL) {
        cout << "Found" << endl;
    } else {
        cout << "Not found" << endl;
    }

    return 0;
}

代码执行输出结果为:Found

以上两种方法都可以用于查找一个字符串中是否包含另一个字符串。在实际使用中,建议使用 string::find 函数,因为它更加方便和易用。