当前位置:首页 C++ > 正文

c++ string类的常用方法

作者:野牛程序员:2023-06-06 19:47:15 C++阅读 2835

在C++中,std::string是一个非常常用的类,用于处理字符串。它提供了许多有用的方法来操作和管理字符串。下面是一些std::string类的常用方法:

  1. 构造函数和赋值操作符:

    • string():默认构造函数,创建一个空字符串。

    • string(const char*):使用C风格字符串初始化字符串。

    • string(const string&):复制构造函数,使用另一个字符串初始化字符串。

    • string& operator=(const char*):用C风格字符串赋值给字符串。

    • string& operator=(const string&):用另一个字符串赋值给字符串。

  2. 访问和修改字符串内容:

    • char& operator[](size_t pos):访问指定位置的字符。

    • const char& operator[](size_t pos) const:以只读方式访问指定位置的字符。

    • char& at(size_t pos):安全地访问指定位置的字符,并进行边界检查。

    • const char& at(size_t pos) const:以只读方式安全地访问指定位置的字符。

    • size_t length() constsize_t size() const:获取字符串的长度。

    • string& operator+=(const string&)string& operator+=(const char*):将另一个字符串(或C风格字符串)追加到当前字符串末尾。

    • string& append(const string&)string& append(const char*):将另一个字符串(或C风格字符串)追加到当前字符串末尾。

    • string& replace(size_t pos, size_t len, const string&):用另一个字符串替换指定位置的一段字符。

    • void clear():清空字符串的内容。

  3. 字符串比较和查找:

    • int compare(const string&) constint compare(const char*) const:将当前字符串与另一个字符串(或C风格字符串)进行比较。

    • size_t find(const string&) constsize_t find(const char*) const:在字符串中查找另一个字符串(或C风格字符串)的第一次出现的位置。

    • size_t rfind(const string&) constsize_t rfind(const char*) const:在字符串中查找另一个字符串(或C风格字符串)的最后一次出现的位置。

    • bool starts_with(const string&) constbool starts_with(const char*) const:检查字符串是否以另一个字符串(或C风格字符串)开头。

    • bool ends_with(const string&) constbool ends_with(const char*) const:检查字符串是否以另一个字符串(或C风格字符串)结尾。

  4. 子字符串操作:

    • string substr(size_t pos, size_t len) const:提取指定位置和长度的子字符串。

这些只是std::string类中一些常用的方法,还有其他更多的方法可以使用。

以下是一些使用std::string类的常用方法的示例:

#include <iostream>
#include <string>

int main() {
    std::string str = "Hello, World!";

    // 获取字符串长度
    std::cout << "Length: " << str.length() << std::endl;

    // 访问和修改字符串内容
    std::cout << "First character: " << str[0] << std::endl;
    str[7] = 'G';
    std::cout << "Modified string: " << str << std::endl;

    // 追加字符串
    std::string anotherStr = " How are you?";
    str += anotherStr;
    std::cout << "Appended string: " << str << std::endl;

    // 替换字符串
    std::string replacement = "OpenAI";
    str.replace(7, 5, replacement);
    std::cout << "Replaced string: " << str << std::endl;

    // 查找子字符串
    size_t pos = str.find("AI");
    if (pos != std::string::npos) {
        std::cout << "Substring found at position: " << pos << std::endl;
    }

    // 子字符串操作
    std::string sub = str.substr(0, 5);
    std::cout << "Substring: " << sub << std::endl;

    return 0;
}

输出结果:

Length: 13
First character: H
Modified string: Hello, Gorld!
Appended string: Hello, Gorld! How are you?
Replaced string: Hello, OpenAI! How are you?
Substring found at position: 7
Substring: Hello

这个例子演示了如何使用std::string类的一些常用方法,包括获取字符串长度、访问和修改字符、追加字符串、替换字符串、查找子字符串和提取子字符串等操作。

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击