0
点赞
收藏
分享

微信扫一扫

数据结构5:哈希表

std::string:

在C++中,std::string是标准模板库(STL)中的一个类,用于表示和操作字符串。std::string提供了丰富的功能来处理文本数据,包括字符串的创建、修改、搜索、比较和转换等操作。

std::string的特点:

1.动态字符串std::string是一个动态字符串类,它可以根据需要自动调整大小。

2.操作简便std::string提供了类似于C风格字符串的接口,使得字符串操作非常直观和方便。

3.安全性std::string避免了C风格字符串的许多安全问题,如缓冲区溢出。

4.丰富的成员函数std::string提供了许多成员函数,用于执行各种字符串操作,如查找、替换、连接、比较等。

5.迭代器支持std::string支持迭代器,可以使用STL算法对字符串进行操作。

std::string的常见用法:

1.字符串操作:使用std::string进行字符串的创建、修改和操作。

2.字符串连接:使用+运算符或append成员函数将多个字符串连接起来。

3.字符串搜索:使用findrfindfind_first_offind_last_of等成员函数在字符串中搜索子串。

4.字符串比较:使用==!=<>等运算符比较两个字符串。

5.字符串转换:使用to_stringstoistolstoll等函数进行字符串与数值之间的转换。

std::string的经典C++用法:

在C++中,std::string是标准模板库(STL)中的一个类,用于表示和操作字符串。std::string提供了丰富的功能来处理文本数据,包括字符串的创建、修改、搜索、比较和转换等操作。以下是一些std::string的常见用法和操作示例:

创建和初始化字符串

#include <iostream>
#include <string>

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

    // 使用字符串字面量初始化字符串
    std::string str2 = "Hello, World!";

    // 使用C风格字符串初始化字符串
    const char* cstr = "Hello, C++!";
    std::string str3(cstr);

    // 使用另一个字符串初始化字符串
    std::string str4(str2);

    // 使用字符串字面量的子串初始化字符串
    std::string str5(str2, 7, 5); // 从位置7开始的5个字符

    // 使用迭代器范围初始化字符串
    std::string str6(str2.begin() + 7, str2.end());

    // 输出字符串
    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;
    std::cout << "str6: " << str6 << std::endl;

    return 0;
}

字符串修改

#include <iostream>
#include <string>

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

    // 插入字符
    str.insert(7, ", ");

    // 替换子串
    str.replace(7, 5, "C++");

    // 删除子串
    str.erase(7, 5);

    // 清空字符串
    str.clear();

    // 输出修改后的字符串
    std::cout << "Modified string: " << str << std::endl;

    return 0;
}

字符串搜索

#include <iostream>
#include <string>

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

    // 查找子串
    size_t pos = str.find("World");

    // 查找子串的逆序
    size_t rpos = str.rfind("World");

    // 查找字符
    size_t cpos = str.find('W');

    // 查找字符的逆序
    size_t rcpos = str.rfind('W');

    // 输出搜索结果
    std::cout << "Position of 'World': " << pos << std::endl;
    std::cout << "Reverse position of 'World': " << rpos << std::endl;
    std::cout << "Position of 'W': " << cpos << std::endl;
    std::cout << "Reverse position of 'W': " << rcpos << std::endl;

    return 0;
}

字符串比较

#include <iostream>
#include <string>

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

    // 比较两个字符串
    if (str1 == str2) {
        std::cout << "str1 and str2 are equal." << std::endl;
    } else {
        std::cout << "str1 and str2 are not equal." << std::endl;
    }

    // 使用比较运算符
    if (str1 < str2) {
        std::cout << "str1 is less than str2." << std::endl;
    } else if (str1 > str2) {
        std::cout << "str1 is greater than str2." << std::endl;
    } else {
        std::cout << "str1 is equal to str2." << std::endl;
    }

    return 0;
}

字符串转换

#include <iostream>
#include <string>
#include <sstream>

int main() {
    std::string str = "123";
    int num;

    // 将字符串转换为整数
    std::istringstream iss(str);
    iss >> num;

    // 输出转换后的整数
    std::cout << "Integer: " << num << std::endl;

    return 0;
}

字符串连接

#include <iostream>
#include <string>

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

    // 使用+运算符连接字符串
    std::string str3 = str1 + str2;

    // 使用append成员函数连接字符串
    str1.append(str2);

    // 输出连接后的字符串
    std::cout << "Concatenated string: " << str3 << std::endl;
    std::cout << "Concatenated string: " << str1 << std::endl;

    return 0;
}

        以上代码展示了std::string的一些常见用法,包括创建和初始化字符串、修改字符串、搜索字符串、比较字符串、转换字符串以及连接字符串。std::string类提供了非常丰富的功能,使得字符串操作变得非常方便和强大。在实际编程中,可以根据需要选择合适的方法来处理字符串。

举报

相关推荐

0 条评论