C++ 标准库:string 类、vector/List 容器与文件操作深度剖析

引言

C++ 标准库犹如一座编程的宝库,其中的 string 类、vectorList 容器以及文件操作(fstream)为开发者提供了强大而便捷的工具,能极大地提升编程效率。接下来,我们将全方位深入探索这些重要组件。

一、string 类

1. 概述

string 类位于 <string> 头文件中,它是 C++ 为处理字符串量身打造的利器。相较于传统的 C 风格字符串(以 '\0' 结尾的字符数组),string 类拥有自动内存管理功能,提供了丰富的成员函数,使用起来更加方便、安全。

2. 详细使用方法

2.1 定义与初始化
#include <iostream>
#include <string>

int main() {
   
   
    // 默认构造函数,创建一个空字符串
    std::string str1;

    // 使用 C 风格字符串初始化
    std::string str2("Hello, C++!");

    // 使用另一个 string 对象初始化
    std::string str3(str2);

    // 使用重复字符初始化
    std::string str4(5, 'X');

    // 从指定位置开始截取初始化
    std::string str5(str2, 7, 3); 

    std::cout << "str1: " << str1 << std::endl;
    std::cout << "str2: " << str2 << std::endl;
    std::cout << "str3: " << str3 << std::endl;
    std::cout << "str4: " << str4 << std::endl;
    std::cout << "str5: " << str5 << std::endl;

    return 0;
}
2.2 字符串拼接
#include <iostream>
#include <string>

int main() {
   
   
    std::string str1 = "Hello";
    std::string str2 = " World";
    std::string str3 = "!";

    // 使用 + 运算符拼接
    std::string result1 = str1 + str2 + str3;

    // 使用 append 方法拼接
    std::string result2 = str1;
    result2.append(str2);
    result2.append(str3);

    std::cout << "result1: " << result1 << std::endl;
    std::cout << "result2: " << result2 << std::endl;

    return 0;
}
2.3 字符串查找与替换
#include <iostream>
#include <string>

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

    // 查找子字符串第一次出现的位置
    size_t pos1 = str.find("World");
    if (pos1 != std::string::npos) {
   
   
        std::cout << "第一次出现的位置: " << pos1 << std::endl;
    }

    // 从指定位置开始查找子字符串
    size_t pos2 = str.find("World", pos1 + 1);
    if (pos2 != std::string::npos) {
   
   
        std::cout << "第二次出现的位置: " <<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轩宇^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值