C++ std::stringstream「建议收藏」

C++ std::stringstream「建议收藏」一简介stringstream可以很方便的进行数字与字符串的转换。头文件<sstream>template<classCharT,classTraits=std::char_traits<CharT>>classbasic_stringstream;(untilC++11)template<…

大家好,又见面了,我是你们的朋友全栈君。

一 简介

stringstream可以很方便的进行数字与字符串的转换。

头文件<sstream>

template< 
    class CharT, 
    class Traits = std::char_traits<CharT>
> class basic_stringstream;
(until C++11)
template< 
    class CharT, 
    class Traits = std::char_traits<CharT>,
    class Allocator = std::allocator<CharT>
> class basic_stringstream; (since C++11)

stringstream	basic_stringstream<char>

派生层次:

C++ std::stringstream「建议收藏」

(图片引用自cppreference),因此从std::ios_base等父类继承了大量成员函数。

二 例子

#include <iostream>
#include <iomanip>
#include <sstream>

int main() {
  {
    std::cout << std::endl;
    std::cout << 1 << std::endl;

    std::stringstream sm;
    sm << 12345;
    sm << "@163.com";
    std::cout << "sm.str(): " << sm.str() << std::endl;
  }
  {
    std::cout << std::endl;
    std::cout << 2 << std::endl;

    std::stringstream sm;
    sm << "54321@163.com";
    int i  = 0;
    sm >> i;
    std::cout << "i: " << i << std::endl;
  }
  {
    std::cout << std::endl;
    std::cout << 3 << std::endl;

    std::stringstream sm;
    sm << std::setfill('0') << std::setw(4) << 1;
    std::cout << "sm.str(): " << sm.str() << std::endl;
    sm.str("");
    sm << "0x" << std::hex << 123456;
    std::cout << "sm.str(): " << sm.str() << std::endl;
  }

  std::cin.get();

  return 0;
}

C++ std::stringstream「建议收藏」

三 参考

cppreference 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137430.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月2日 上午6:16
下一篇 2022年6月2日 上午6:36


相关推荐

  • ugui drawcall优化_DrawerLayout

    ugui drawcall优化_DrawerLayoutUGUIdrawcall合并原理高数量的drawcall带来的坏处不用多说了,本篇重点说的是UGUI是如何合并drawcall的。通过这篇博客,你将学会如何精算一个UGUI界面到底有几个drawcall,并且能想象出各UI控件的渲染顺序(即FrameDebugger窗口里的渲染顺序)。概念篇在学习本篇之前,你需要了解以下几个名词。bottomUIA是B的botto…

    2026年1月26日
    5
  • 【n8n教程】:5分钟搭建带“记忆”的 AI 聊天机器人

    【n8n教程】:5分钟搭建带“记忆”的 AI 聊天机器人

    2026年3月13日
    2
  • html怎么让无序列表横向排列_一个人把敌人的炮兵阵地

    html怎么让无序列表横向排列_一个人把敌人的炮兵阵地司令部的将军们打算在 N×M 的网格地图上部署他们的炮兵部队。一个 N×M 的地图由 N 行 M 列组成,地图的每一格可能是山地(用 H 表示),也可能是平原(用 P 表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示:如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色的网格表示它能够攻击到的区域:沿横向左右各两格,沿纵向上下各两格。图上其它白色网格均攻击不到。从图上可见炮兵的攻击范围不受地形的影响

    2022年8月8日
    7
  • 内核杂谈——关于platform device 创建

    内核杂谈——关于platform device 创建当拿到driver,不能用起来的时候需要去检查device了。虽说device和bus通常都是系统中带的,但也不要想当然的认为这个系统是帮你建好的。通常busdevicedriver三者中,bus基本不用干预,device干预的少,driver干预的多。从设备树中生成device从设备树中识别device的入口为arch_initcall_sync(of_platform_default_populate_init);staticint__initof_platform_defa

    2022年7月24日
    15
  • navigator.appName

    navigator.appName找了很多的参考,无外乎两句话,兼容性和缅怀网景我就很好奇,到底在兼容什么然后翻到一篇外文的提问,里面提及了DOM0然后去了解了一下DOM0…看了介绍之后,就是不太推荐使用的标签监听属性on事件名,不过这文章有提到DOM0具有极好的跨浏览器优势,所以可能appName就是在这方面的支持吧,如果有知道的大佬请留个言,解释一下吧,老纠结了….

    2025年11月1日
    5
  • ubuntu解压tar.gz格式的文件

    ubuntu解压tar.gz格式的文件两种压缩格式 tar 和 tar gzTAR 好处是只消耗非常少的 CPU 及时间打包 只是一个打包工具 并不负责压缩 tar cvfstudio tardirectory to compress 解包到当前目录下 tar xvfstudio tar 到指定目录下 tar xvfstudio tar C tmp extract TAR GZ 压缩时不会占用太多的 CPU

    2026年3月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号