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

c++字符串类全部函数总结

作者:野牛程序员:2023-07-29 17:30:19 C++阅读 2838

在C++中,标准库提供了一个称为std::string的字符串类,它封装了许多方便的字符串操作函数。下面是std::string类的一些常用函数总结:

  1. 构造和初始化

  2. #include <string>
    std::string str1;                   // 默认构造函数,创建一个空字符串
    std::string str2 = "Hello";         // 使用C风格字符串构造
    std::string str3("World");          // 使用字符数组构造
    std::string str4(5, 'A');           // 使用重复字符构造,结果为"AAAAA"
    • 构造函数:可以使用不同的参数来构造std::string对象,例如默认构造函数、使用C风格字符串构造、使用字符数组构造、使用重复字符构造等等。

  3. 赋值和拷贝

    #include <string>
    
    std::string str1 = "Hello";
    std::string str2;
    str2 = str1;                // 使用赋值运算符,将str1赋值给str2
    str2.assign("World");       // 使用assign函数,将"C++"赋值给str2
    str2.assign(str1, 0, 3);    // 使用assign函数,将str1的前3个字符赋值给str2,结果为"Hell"

    • = 赋值运算符:用一个字符串赋值给另一个字符串。

    • assign 函数:用一个字符串或子串赋值给另一个字符串。

  4. 连接和追加

    #include <string>
    
    std::string str1 = "Hello";
    std::string str2 = " World";
    std::string result = str1 + str2;  // 使用连接运算符,结果为"Hello World"
    str1 += str2;                      // 使用追加运算符,str1的值变为"Hello World"
    str1.append("!!");                 // 使用append函数,将"!!"追加到str1的末尾,结果为"Hello World!!"

    • + 连接运算符:连接两个字符串。

    • += 追加运算符:将一个字符串追加到另一个字符串的末尾。

    • append 函数:将一个字符串或子串追加到另一个字符串的末尾。

  5. 比较

    #include <string>
    
    std::string str1 = "apple";
    std::string str2 = "banana";
    bool isEqual = (str1 == str2);       // 结果为false
    bool isNotEqual = (str1 != str2);    // 结果为true
    int result = str1.compare(str2);     // 结果为负数,因为"apple"在字典顺序上比"banana"小

    • ==!=:用于比较两个字符串是否相等或不相等。

    • ><>=<=:用于比较两个字符串的大小关系(根据字典顺序)。

    • compare 函数:返回两个字符串的比较结果(类似于strcmp函数)。

  6. 查找和子串

  7. #include <string>
    std::string str = "Hello, World!";
    size_t found = str.find("World");          // 结果为7,"World"在str中的起始位置
    size_t rfound = str.rfind("o");            // 结果为8,最后一个'o'在str中的位置
    std::string sub = str.substr(0, 5);        // 获取str的前5个字符,结果为"Hello"
    • find 函数:查找一个子串在字符串中的位置。

    • rfind 函数:从后往前查找一个子串在字符串中的位置。

    • substr 函数:获取字符串的子串。

  8. 替换

  9. #include <string>
    std::string str = "Hello, World!";
    str.replace(0, 5, "Hi");   // 将str中的"Hello"替换为"Hi",结果为"Hi, World!"
    • replace 函数:替换字符串中的子串为另一个字符串。

  10. 删除和清空

    #include <string>
    
    std::string str = "Hello, World!";
    str.erase(0, 5);          // 删除str中的前5个字符,结果为", World!"
    str.clear();              // 清空str的内容,结果为""

    • erase 函数:删除字符串中的一部分字符。

    • clear 函数:清空字符串的内容。

  11. 其他函数

    • empty 函数:检查字符串是否为空。

    • size 函数:获取字符串的长度。

    • c_str 函数:将std::string转换为C风格的字符串(以\\0结尾的字符数组)。

以上仅列举了一些std::string类的常用函数,std::string还有许多其他有用的成员函数,可根据实际需求进一步了解和使用。std::string类提供了更方便、安全和易用的字符串操作方式,使得在C++中处理字符串变得更加简单和高效。


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

最新推荐

热门点击