在用c++写程序时,经常回需要将int or double 等类型转换成string。对于这个操作,我常使用的是stringstream。比如

利用这个方法就可以将int类型a的值转换为string类型(同理,可以转换double,long等类型)。

如果你想要转换多个int/double等类型的变量,而又始终用一个stringstream对象(避免总是创建stringstream的开销),那么你就需要在再一次用stringstream之前将stringstream的内容清空。我们首先想到的是clear()方法。经查看stringstream果然有个clear()方法(好开心^.^),于是你就这么去应用stringstream了。

结果竟然发现运行结果是这样!!
a_str:10 b_str:102.8

怎么回事!? 原来clear() 方法只是重置了stringstream的状态标志,并没有清空数据。如果需要清空数据,可以用是s1.str(“”)来实现这个目的。

谨记!不然很容易使你的程序出现错误,并且吃掉你的内存!

参考:http://blog.163.com/mageng11@126/blog/static/1408083742012214104532291/

C++stringstream的clear()清空误区相关推荐

  1. 【Dart 教程系列第 9 篇】Dart 之 clear 清空数组

    这是[Dart 教程系列第 9 篇],如果觉得有用的话,欢迎关注专栏. Dart 清空数组用 clear() 方法,该方法无返回值,无参数. List<String> l1 = [&quo ...

  2. 直接使用editbox.clear()清空时,有时会无法清除完全,此时有清空文本框的另一种方法...

    editbox = driver.find_element_by_id("id") editbox.click()content = editbox.get_attribute(& ...

  3. Python入门--字典元素的操作,key的判断(in not in),字典元素删除(del),字典元素的增加,清空(clear()),修改

    #字典的常用操作 #key的判断 #in-->指定的key在字典中返回True-->'张三' in scores #not in-->指定的key在字典中返回True-->'M ...

  4. 的clear会清空内存吗_Python内存分配时有哪些不为你知的小秘密?

    Python 中的sys模块极为基础而重要,它主要提供了一些给解释器使用(或由它维护)的变量,以及一些与解释器强交互的函数. 本次的Python学习教程分享将会频繁地使用该模块的getsizeof() ...

  5. stringstream用法总结

    目录 一.概念 二.基本功能 功能一:预定的格式将程序中的数据保存在一个string 中 功能二:实现类型转换 功能三:实现任意类型转换 三.重要功能 1.数字由空格或逗号分开. 2.数字由逗号分开 ...

  6. C++学习-stringstream

    转载于https://blog.csdn.net/shs1992shs/article/details/83051298 stringstream是 C++ 提供的一个字符串流(stream),要使用 ...

  7. C++编程语言中stringstream类介绍

    本文主要介绍 C++ 编程语言中 stringstream 类的相关知识,同时通过示例代码介绍 stringstream 类的使用方法. 1 概述 <sstream> 定义了三个类:ist ...

  8. 关于stringstream的用法总结

    关于stringstream的用法总结 将整形转化成字符串 #include <iostream> #include <sstream>using namespace std; ...

  9. stringstream的使用方法

    在C语言中,如果想要将一个整形变量的数据转化为字符串格式,可以使用下面的方法: 1.使用itoa()函数 2.使用sprintf()函数 但是两个函数在转化时,都得需要先给出保存结果的空间,那空间要给 ...

最新文章

  1. 2020这一年,我完成了这几件大事
  2. 中国开封菊花花会照片1
  3. git config设置用户名_一个神奇的工具,实现多人协作,git常用命令详解
  4. Bzoj2037: [Sdoi2008]Sue的小球
  5. EasyUI实现工地领款单项目
  6. cad刷新快捷键_第16期分享:常用电脑快捷键是哪些?
  7. eclipse怎样创建并运行java项目
  8. SSH实战项目——在线商品拍卖网
  9. 《BackTrack 5 Cookbook中文版——渗透测试实用技巧荟萃》—第1章1.3节安装BackTrack到USB驱动器...
  10. Flutter实战一Flutter聊天应用(十四)
  11. Gstreamer 搭建RTSP服务器(九)
  12. 使用visio 2010建立sql server数据模型——手动画、利用逆向工程
  13. 使用pyautogui自动刷微信表情
  14. html播放m3u8格式转换,m3u8格式如何播放
  15. numpy.median
  16. 安装Linux启动盘【准备8G以上U盘即可】
  17. 今天看到一句觉得很牛逼的话与诸君共享
  18. SpringMVC框架|Handler处理器的三种写法
  19. 软件即服务(saas)_什么是SaaS? 定义软件即服务
  20. 区块链实验五 : 挖矿交易2

热门文章

  1. 征服面试官:OkHttp 原理篇 掌握这篇面试题汇总,吊打面试官!
  2. 手机AR APP开发之性能优化
  3. 爬取顺企网商户联系方式
  4. 域计算机远程无法关机,局域网内的远程关机
  5. linux查看lun对应的硬盘,手把手教你在不同操作系统下如何识别存储磁盘LUN,如何管理磁盘LUN。...
  6. 前端get请求接收后端传来的二进制文件流blob实现下载功能,解决下载文件打不开问题
  7. Java基础 精短强悍 学习笔记
  8. 小程序即时通讯 websocket
  9. 让你成为Word大神的10个技巧
  10. meshroom入门