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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MD5加密详解_md5加密的方法

    MD5加密详解_md5加密的方法MD5加密详解 引言:我在百度百科上查找到了关于MD5的介绍,我从中摘要一些重要信息:MessageDigestAlgorithmMD5(中文名为信息摘要算法第五版)为计算机安全领域广泛使用

    2022年8月6日
    7
  • oracle的join的用法_oracle分页函数

    oracle的join的用法_oracle分页函数/*关于在join中出现ORA-00918:未明确定义列的解决办法*//*关于join和where表连接问题,需要在使用join时需要使用列的别名,避免相同列名的出现。*/–以下为简要测试过程:–测试对象如下:SQL>select*fromoraking1;IDNAME——————————1oraking2oraking23or…

    2022年10月5日
    3
  • vim学习六之搜索命令「建议收藏」

    vim学习六之搜索命令「建议收藏」目录Vim基本搜索命令/或者?搜索n/N正反向下一个特殊搜索Vim高亮搜索搜索大小写敏感搜索进阶Vim正则表达式搜索查找在行首的特定串查找在行尾的特定串匹配特定行Vim基本搜索命令/或者?搜索在Vim普通模式下,输入/或?符号就进入了搜索模式,/用于正向往下搜索,?用于反向往上搜索。n/N正反向下一个在搜索模式下可以对Vim打开的整个文本内容进行搜索,当按下n时可以继续正向查找下一个相匹配的目前单词。N的作用与n相反,是往上反向搜索目标单词。特殊搜索在Vim命

    2022年9月23日
    3
  • Builder 构造器模式[通俗易懂]

    Builder 构造器模式[通俗易懂]Builder 构造器模式动机模式定义实例结构要点总结笔记动机在软件系统中,有时候面临着”一个复杂对象“的创建过程,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将他们组合在一起的算法却通常相对稳定。如何应对这种变化?如何提供一种”封装机制“来隔离出”复杂对象的各个部分”的变化,从而保持系统中的“稳定构建算法”不随着需求改变而改变?模式定义将一个复杂对象的构建与其表示相分离,使得同样的构建过程(稳定)可以创建出不通的表示(变化)实例构

    2022年8月9日
    10
  • Spark Streaming 实现 word count

    Spark Streaming 实现 word countSparkStreami 实现 wordcount 一 一个输入源端口对应一个 receiver1 1 数据源端口 1 2sparkstream 接收处理数据二 两个输入源端口对应一个 receiver2 1 测试源端口一 一个输入源端口对应一个 receiver1 1 数据源端口使用网络猫作为数据的输入源端口下载网络猫 linux 命令行执行 yuminstall ync 使用测试端口 9999nc lk99991 2sparkstream 接收处理数据这

    2025年8月13日
    5
  • TCP/IP之以太网帧格式

    TCP/IP之以太网帧格式常用以太网帧格式目前分为 3 种 nbsp nbsp nbsp 1 ethernet II 即 DIX2 0 当前以太网的事实标准 大多数 TCP IP 都用这种格式 nbsp nbsp nbsp nbsp nbsp nbsp nbsp 字段

    2025年9月7日
    9

发表回复

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

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