STL中的String容器的使用

在C++的STL(标准模板库)中,string容器是用于存储和操作字符串的类。它提供了许多方便的方法来处理字符串,比如插入、删除、替换和查找等。

使用string容器需要包含头文件<string>。下面是一些常用的string容器的成员函数和示例代码:

  1. 构造函数和赋值操作符:
  • string():默认构造函数,创建一个空字符串。
  • string(const char* str):用C风格字符串初始化string对象。
  • string(const string& str):用另一个string对象初始化当前对象。
  • string& operator=(const char* str):将C风格字符串赋值给string对象。
  • string& operator=(const string& str):将另一个string对象赋值给当前对象。

示例代码:

#include <iostream>
#include <string>

int main() {
    // 构造函数和赋值操作符示例
    std::string str1; // 默认构造函数
    std::string str2("Hello"); // 用C风格字符串初始化
    std::string str3 = str2; // 用另一个string对象初始化
    std::string str4;
    str4 = "World"; // 赋值操作符
    std::cout << str1 << std::endl; // 输出空字符串
    std::cout << str2 << std::endl; // 输出Hello
    std::cout << str3 << std::endl; // 输出Hello
    std::cout << str4 << std::endl; // 输出World
    
    return 0;
}

  1. 连接和拼接字符串:
  • string& operator+=(const char* str):将C风格字符串连接到当前字符串的末尾。
  • string& operator+=(const string& str):将另一个string对象连接到当前字符串的末尾。
  • string operator+(const char* str):返回当前字符串与C风格字符串连接后的新字符串。
  • string operator+(const string& str):返回当前字符串与另一个string对象连接后的新字符串。

示例代码:

#include <iostream>
#include <string>

int main() {
    // 连接和拼接字符串示例
    std::string str1 = "Hello";
    std::string str2 = "World";
    std::string str3 = str1 + " " + str2; // 使用操作符+
    str1 += ", "; // 使用+=
    str1 += str2;
    std::cout << str1 << std::endl; // 输出Hello, World
    std::cout << str3 << std::endl; // 输出Hello World
    
    return 0;
}

  1. 查找字符串:
  • size_type find(const char* str, size_type pos = 0) const:在当前字符串中从pos位置开始查找C风格字符串,返回第一次出现的位置。
  • size_type find(const string& str, size_type pos = 0) const:在当前字符串中从pos位置开始查找另一个string对象,返回第一次出现的位置。

示例代码:

#include <iostream>
#include <string>

int main() {
    // 查找字符串示例
    std::string str = "Hello, World!";
    size_t pos = str.find("World");
    if (pos != std::string::npos) {
        std::cout << "Found at position: " << pos << std::endl; // 输出Found at position: 7
    } else {
        std::cout << "Not found" << std::endl;
    }
    
    return 0;
}

  1. 字符串的长度和截取:
  • size_type length() const:返回当前字符串的长度。
  • string substr(size_type pos = 0, size_type count = npos) const:返回从pos位置开始的count个字符的子串。

示例代码:

#include <iostream>
#include <string>

int main() {
    // 字符串的长度和截取示例
    std::string str = "Hello, World!";
    std::cout << "Length: " << str.length() << std::endl; // 输出Length: 13
    std::string substr = str.substr(7, 5); // 截取子串
    std::cout << "Substring: " << substr << std::endl; // 输出Substring: World
    
    return 0;
}

以上仅是string容器的一些基本用法,还有许多其他功能和成员函数可以使用。详细的使用方法可以参考C++的文档或教程。

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值