ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

stringstream:字符串与其他数据类型的转换

2020-01-25 10:54:58  阅读:256  来源: 互联网

标签:类型转换 int 数据类型 清空 sstream stringstream 字符串 include


概述

<sstream> 定义了三个类:

istringstream

流的输入

ostringtream

流的输出

stringstream

流的输入输出

   

<sstream>主要用来进行数据类型转换。

<sstream>使用string对象来代替字符数组(snprintf方式),能避免缓冲区溢出的危险;而且,因为传入参数和目标对象的类型会被自动推导出来,所以不存在错误的格式化符的问题。

简单说,相比C语言自带的库的数据类型转换而言,<sstream>更加安全、自动和直接。

   

用法

  1. 数据类型转换

    demo

#include <sstream>

#include <iostream>

using namespace std;

   

int main()

{

    stringstream sstream;

    string strResult;

    int nValue = 1000;

   

    // 将int类型的值放入输入流中

    sstream << nValue;

   

    // 从sstream中抽取前面插入的int类型的值,赋给string类型

    sstream >> strResult;

   

    return 0;

}

   

  1. 清空sstream

进行多次类型转换前

必须清空,否则可能得不到正确结果。

// 清空 sstream

sstream.clear();

字符串拼接

可使用

sstream.str("");

   

  1. 字符串拼接

    demo

#include <string>

#include <sstream>

#include <iostream>

using namespace std;

   

int main()

{

    stringstream sstream;

   

    // 将多个字符串放入 sstream 中

    sstream << "first" << " " << "string,";

    sstream << " second string";

   

    cout << "strResult is: " << sstream.str() << endl;

   

    // 清空 sstream

    sstream.str("");

    sstream << "third string";

   

    cout << "After clear, strResult is: " << sstream.str() << endl;

    return 0;

}

   

   

   

   

标签:类型转换,int,数据类型,清空,sstream,stringstream,字符串,include
来源: https://www.cnblogs.com/audacious/p/12232873.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有