C++中std::stringstream多类型数据拼接和提取用法小结

 更新时间:2023年09月04日 09:36:17   作者:宗浩多捞  
本文主要介绍了C++中std::stringstream多类型数据拼接和提取用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1、std::stringstream 可以用于不同类型的拼接

在下面示例中,使用std::stringstream将整数、双精度浮点数和字符串连接到一个字符串中,这充分展示了其通用性。 << 运算符可以用于将各种数据类型追加到流中,而不仅仅是字符串。这使得 std::stringstream 成为一个强大的工具,可用于在C++中进行不同类型的拼接和字符串构建。

#include <iostream>
#include <sstream>
#include <string>
int main() 
{
    int intValue = 42;
    double doubleValue = 3.14159;
    std::string stringValue = "Hello, world!";
    std::stringstream ss;
    ss << "Int: " << intValue << ", Double: " << doubleValue << ", String: " << stringValue;
    std::string result = ss.str();
    std::cout << result << std::endl; 
    // 输出 "Int: 42, Double: 3.14159, String: Hello, world!"
    return 0;
}

2、std::stringstream 还可以用于从字符串中提取不同类型的数据到不同的变量中。

以下是一个示例

#include <iostream>
#include <sstream>
#include <string>
int main() {
    std::string data = "42 3.14159 Hello";
    int intValue;
    double doubleValue;
    std::string stringValue;
    std::stringstream ss(data);	
    ss >> intValue >> doubleValue >> stringValue;
    std::cout << "Integer Value: " << intValue << std::endl;
    std::cout << "Double Value: " << doubleValue << std::endl;
    std::cout << "String Value: " << stringValue << std::endl;
    return 0;
}

>> 用于从流中提取数据并进行类型转换,默认分隔符为空格、制表符、换行符: \t\n。这允许你将不同类型的数据从字符串中解析并存储在不同的变量中。

如果想自定义分隔符,那就不能靠>>运算符实现提取了,需要借助std::getline()

到此这篇关于C++中std::stringstream多类型数据拼接和提取用法小结的文章就介绍到这了,更多相关C++ std::stringstream内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++使用文件实现学生信息管理系统

    C++使用文件实现学生信息管理系统

    这篇文章主要为大家详细介绍了C++使用文件实现学生信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • 一篇文章带你了解C++语法基础--字符串

    一篇文章带你了解C++语法基础--字符串

    这篇文章主要介绍了C++常用字符串分割方法实例汇总,包括了strtok函数、STL、Boost等常用的各类字符串分割方法,非常具有实用价值,需要的朋友可以参考下
    2021-08-08
  • C语言实现信号槽的项目实践

    C语言实现信号槽的项目实践

    信号槽是观察者模式的一种实现,一个信号就是一个能够被观察的事件,本文主要介绍了C语言实现信号槽的项目实践模具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • 优先队列(priority_queue)的C语言实现代码

    优先队列(priority_queue)的C语言实现代码

    本文简要介绍一种基于数组二叉堆实现的优先队列,定义的数据结构和实现的函数接口说明如下
    2013-10-10
  • C++ 初始化列表详解及实例代码

    C++ 初始化列表详解及实例代码

    这篇文章主要介绍了C++ 初始化列表详解及实例代码的相关资料,需要的朋友可以参考下
    2016-12-12
  • C++结构体作为函数参数传参的实例代码

    C++结构体作为函数参数传参的实例代码

    这篇文章主要介绍了C++结构体作为函数参数传参的实例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • C语言复数的加减及输出结构体

    C语言复数的加减及输出结构体

    大家好,本篇文章主要讲的是C语言复数的加减及输出结构体,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • 使用C语言如何输出逆序数

    使用C语言如何输出逆序数

    逆序数的就是把一个数倒过来,例如:1234那么它的逆序数就为4321,我们该如何是实现呢?下面这篇文章主要给大家介绍了关于使用C语言如何输出逆序数的相关资料,需要的朋友可以参考下
    2022-01-01
  • Qt中QRadioButton控件的用法详解和实战指南

    Qt中QRadioButton控件的用法详解和实战指南

    这篇文章主要介绍了Qt中QRadioButton控件的使用方法,包括基础概念、分组管理和信号槽机制,QRadioButton是一种单选按钮控件,用于在多个互斥选项中选择一个,文章展示了三种分组方式,需要的朋友可以参考下
    2026-01-01
  • Visual Studio 2022下载及配置OpenCV4.5.5的详细过程

    Visual Studio 2022下载及配置OpenCV4.5.5的详细过程

    这篇文章主要介绍了Visual Studio 2022下载及配置OpenCV4.5.5的详细过程,在这里注意下Win10的64位操作系统,在OpenCV官网下载OpenCV4.5.5,安装的是Win pack,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友可以参考下
    2022-05-05

最新评论