温馨提示×

C++中使用strchr查找多个字符怎么办

c++
小樊
82
2024-11-30 12:14:37
栏目: 编程语言

在C++中,可以使用std::string::find_first_of()std::string::find_last_of()函数来查找一个字符串中第一个和最后一个指定字符的位置

#include <iostream>
#include <string>

int main() {
    std::string str = "Hello, I am a C++ assistant!";
    char charsToFind[] = {'a', 'i', 'o', 'u', 'A', 'I', 'O', 'U'};

    // 查找第一个字符的位置
    size_t firstPos = str.find_first_of(charsToFind);
    if (firstPos != std::string::npos) {
        std::cout << "First occurrence of a character found at position: " << firstPos << std::endl;
    } else {
        std::cout << "No characters found." << std::endl;
    }

    // 查找最后一个字符的位置
    size_t lastPos = str.find_last_of(charsToFind);
    if (lastPos != std::string::npos) {
        std::cout << "Last occurrence of a character found at position: " << lastPos << std::endl;
    } else {
        std::cout << "No characters found." << std::endl;
    }

    return 0;
}

在这个示例中,我们查找了字符串str中第一个和最后一个元音字母(a, i, o, u)的位置。find_first_of()返回第一个找到的字符的位置,而find_last_of()返回最后一个找到的字符的位置。如果没有找到任何字符,这两个函数都会返回std::string::npos

0