一、str与clear函数

C++Reference对于两者的解释:

可见:clear()用来设置错误状态,相当于状态的重置;str用来获取或预置内容

二、区别

运行下面测试代码:

 #include<stdio.h>
#include<iostream>
#include<sstream>
#include<stdbool.h>
#include<string>
using namespace std; int main()
{ string test1;
string test2;
string test3;
stringstream ss; for (int j = ; j<; j++)
{
ss.clear();
ss.str(""); ss << j;
test1 = ss.str();
ss >> test2;
test3 = ss.str();
cout << test1<< " "<< test2<< " "<<test3 << endl;
} return ;
}

(1)注释掉ss.clear()

输出:

可发现,不能正确输出

(2)注释掉ss.str("")

输出:

可发现,虽然正确输出,但并没有清空缓冲区

(3)不注释掉

输出:

三、总结

clear是用来清空stringstream的状态(比如出错等),str("")才能清空内部的缓冲区

为了保险起见,每次复用stringstream类时,都调用clear(), str(“”) 这两个函数, 把stingstream类复位.

最新文章

  1. 项目游戏开发日记 No.0x000001
  2. 试图加载格式不正确的程序。 (异常来自HRESULT:0x8007000B)
  3. mysql 分组查询问题 group_concat
  4. CardLayout布局练习(小的图片浏览器)
  5. excel表中内容如何反排列
  6. MYSQL导入导出.sql文件(转)
  7. T-SQL备忘(4):分页
  8. poj 1149 最大流
  9. mongoDB之用户及权限设置
  10. C语言格式化输出,空位补0,空位补空格
  11. Spring Boot - AOP(面向切面)
  12. 函数语法:Js之on和addEventListener的使用与不同
  13. python_08 函数式编程、高阶函数、map、filter、reduce函数、内置函数
  14. 深入JVM系列(二)之GC机制、收集器与GC调优
  15. Thinkphp 去除bom头 解决模版空输出问题
  16. Java 注解实例
  17. 周末大礼:jQuery技巧总结
  18. SPSS Clementine 数据挖掘入门1
  19. Python爬虫入门七之正则表达式
  20. jz2440存储管理实验【学习笔记】

热门文章

  1. Windows下启动停止Oracle11g服务-为解决系统变慢而生
  2. lightoj 1035【暴力】
  3. 2016CCPC东北地区大学生程序设计竞赛
  4. 适合新手看的超详细CentOS Linux 7 安装Tomcat8过程
  5. java读取properties文件的配置信息
  6. Cocos2d-x-html5之HelloWorld深入分析与调试
  7. [Xcode 实际操作]二、视图与手势-(2)UIView视图的层次关系
  8. Faster_Rcnn在windows下运行踩坑总结
  9. bzoj1339/1163:[Baltic2008]Mafia
  10. MySQL - 执行sql报错USING BTREE