温馨提示×

string和stringstream用法详解

小亿
74
2023-12-20 18:02:45
栏目: 编程语言

string和stringstream是C++标准库中的两个类,用于处理字符串。

  1. string类: string类是一个可变长度的字符串类,提供了一系列操作字符串的方法。使用string类需要包含头文件

常用的string类方法有:

  • 构造函数:可以使用字符串字面值或者字符数组来构造一个string对象。
  • 拷贝构造函数:可以使用另一个string对象来构造一个新的string对象。
  • 赋值操作符:可以用一个字符串或者另一个string对象来给一个string对象赋值。
  • 连接操作符:可以用+运算符来连接两个字符串。
  • 比较操作符:可以用==、!=、<、>等运算符来比较两个字符串的大小。
  • 子字符串操作:可以使用substr()方法来获取原字符串的子串。
  • 插入和删除操作:可以使用insert()和erase()方法来插入和删除字符串中的字符。
  • 长度操作:可以使用length()或者size()方法来获取字符串的长度。
  • 查找操作:可以使用find()方法来查找字符串中的某个字符或者子串。

示例代码:

#include <string>
#include <iostream>

int main() {
    std::string str1 = "hello";
    std::string str2 = "world";
    std::string str3;

    str3 = str1 + " " + str2;
    std::cout << str3 << std::endl;

    if (str1 == "hello") {
        std::cout << "str1 is equal to hello" << std::endl;
    }

    std::cout << "Substring: " << str3.substr(6, 5) << std::endl;

    str3.insert(5, " C++");
    std::cout << "After insertion: " << str3 << std::endl;

    str3.erase(11, 5);
    std::cout << "After deletion: " << str3 << std::endl;

    return 0;
}
  1. stringstream类: stringstream类是一个用于处理字符串流的类,可以将字符串转换为其他类型的数据,或者将其他类型的数据转换为字符串。使用stringstream类需要包含头文件

常用的stringstream类方法有:

  • 构造函数:可以使用一个初始字符串来构造一个stringstream对象。
  • 清空方法:可以使用clear()方法来清空stringstream对象的内容。
  • 字符串输入方法:可以使用str()方法来获取stringstream对象中的字符串。
  • 字符串输出方法:可以使用<<运算符来向stringstream对象中写入数据。
  • 数据转换方法:可以使用>>运算符来从stringstream对象中读取数据。

示例代码:

#include <iostream>
#include <sstream>

int main() {
    std::string str = "12345";
    int num;
    std::stringstream ss;

    ss << str; // 将字符串写入stringstream对象
    ss >> num; // 从stringstream对象读取数据

    std::cout << "Number: " << num << std::endl;

    ss.str(""); // 清空stringstream对象的内容
    ss << "3.14";
    float f;
    ss >> f;

    std::cout << "Float: " << f << std::endl;

    return 0;
}

以上是string和stringstream类的简单用法介绍,更详细的用法可以参考C++的相关文档或者教程。

0