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++中的struct和class的区别详解

    C++中的struct和class的区别详解

    这篇文章主要介绍了C++中的struct和class的区别详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-08-08
  • C++超详细分析type_traits

    C++超详细分析type_traits

    C++的type_traits是一套纯粹编译期的逻辑,可以进行一些类型判断、分支选择等,主要用于模板编程。使用type_traits并不难,但是我们希望能够更加深入了解其实现方式,与此同时,可以更进一步体验C++的模板编程
    2022-08-08
  • C语言开发之归并排序详解及实例

    C语言开发之归并排序详解及实例

    这篇文章主要介绍了 C语言开发之归并排序详解及实例的相关资料,需要的朋友可以参考下
    2017-03-03
  • C#使用反射加载多个程序集的实现方法

    C#使用反射加载多个程序集的实现方法

    下面小编就为大家带来一篇C#使用反射加载多个程序集的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • pcl1.8.0+vs2013环境配置超详细教程

    pcl1.8.0+vs2013环境配置超详细教程

    这篇文章主要介绍了pcl1.8.0+vs2013环境配置超详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • C语言中多样式的格式控制符的使用详解

    C语言中多样式的格式控制符的使用详解

    C语言中的格式控制符类型繁多,虽然格式字符可能就那么几个,但组合起来使得格式控制符变得多样化,这对于C语言初学者来说无疑是一种痛苦,为此我将常见的格式控制符类型及意义总结一下,希望对大家有所帮助
    2023-03-03
  • 枚举和宏的区别详细解析

    枚举和宏的区别详细解析

    枚举常量具有类型,但宏没有类型,枚举变量具有与普通变量相同的诸如作用域、值等性质,但宏没有,宏不是语言的一部分,它是一种预处理替换符
    2013-09-09
  • QT基于TCP实现网络聊天室程序

    QT基于TCP实现网络聊天室程序

    这篇文章主要为大家详细介绍了QT基于TCP实现网络聊天室程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • 八皇后问题实现代码分享

    八皇后问题实现代码分享

    八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例,这篇文章主要介绍了八皇后问题实现代码,需要的朋友可以参考下
    2014-02-02
  • C语言实现火车订票系统

    C语言实现火车订票系统

    这篇文章主要为大家详细介绍了C语言实现火车订票系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08

最新评论