stringstream的使用

std::stringstream 是C++标准库中的一个类,用于在内存中操作字符串流。它提供了一种方便的方式来格式化和解析字符串数据,类似于文件流(如 std::ifstreamstd::ofstream)但针对字符串。std::stringstream 属于 <sstream> 头文件,结合了输入(std::istringstream)和输出(std::ostringstream)的功能。

1.基本功能
  • 格式化输出:可以像使用 std::cout 一样向 std::stringstream 写入数据,然后将其作为字符串读取。
  • 字符串解析:可以将一个字符串传递给 std::stringstream,并从中解析不同的数据类型。
  • 内存中的流操作:不涉及文件操作,完全在内存中进行数据的格式化和解析。
2.常见用法

构造和赋值

#include <sstream>
#include <string>

int main() {
   
    // 创建一个空的 stringstream
    std::stringstream ss;

    // 用字符串初始化 stringstream
    std::string initialData = "123 456";
    std::stringstream ss2(initialData);
}

写入数据

#include <sstream>
#include <iostream>

int main() {
   
    std::stringstream ss;

    int num = 42;
    std::string text = "Hello, World!";

    // 向 stringstream 写入数据
    ss << num << " " << text;

    // 获取生成的字符串
    std::string result = ss.str();
    std::cout << "Generated string: " << result << std::endl;

    return 0;
}

读取数据

#include <sstream>
#include <iostream>

int main() {
   
    std::string data =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值