关于stringstream重复使用时的问题2
2015-03-07 05:56
92 查看
string s1("333.444.555");
string s2("666.777.888");
stringstream ss;
string w1, w2;
ss << s1;
getline(ss, w1, '.');
ss >> s1;
cout << w1 <<" " << s1 << " " << ss.str()<<endl;
ss.str("");
// ss.clear();
ss << s2;
getline(ss, w2, '.');
ss >> s2;
cout << w2 <<" " << s2 << " " << ss.str()<<endl;
运行截图
错误!可见第二次string buff没有读进去任何内容
去掉ss.clear()的注释符
运行结果
正确
原因:str("")只是重置string buff的内容为“”,即清空。clear()是为了重置流的状态标志,stringstream在多次转换之前必须调用。
string s2("666.777.888");
stringstream ss;
string w1, w2;
ss << s1;
getline(ss, w1, '.');
ss >> s1;
cout << w1 <<" " << s1 << " " << ss.str()<<endl;
ss.str("");
// ss.clear();
ss << s2;
getline(ss, w2, '.');
ss >> s2;
cout << w2 <<" " << s2 << " " << ss.str()<<endl;
运行截图
错误!可见第二次string buff没有读进去任何内容
去掉ss.clear()的注释符
运行结果
正确
原因:str("")只是重置string buff的内容为“”,即清空。clear()是为了重置流的状态标志,stringstream在多次转换之前必须调用。
相关文章推荐
- 关于stringstream重复使用时的问题
- 关于使用js进行表单提交操作引发的表单重复提交问题
- 关于jquery的slideToggle()效果重复使用的问题
- 关于Hibernate中fatch=eager的bag集合(一个java List)使用Criteria查询出现重复记录的问题
- 关于使用select标签,去掉重复选项的问题。默认首选项不被去除。
- 关于新增元素使用jQuery on()方法重复绑定的问题
- 问个关于VS使用上的问题
- 刚才遇到了关于C#使用外部DLL函数上的char*的问题。
- 关于在struts 框架中使用Filter过滤器解决汉字编码问题
- VC中一个关于宏的使用问题,字符串之间转换,宽字符与普通字符
- 关于GetRecordCount函数的使用问题
- 关于在VB中使用Access数据库出现的问题
- 关于SQL SERVER的内存使用的问题
- 关于您提到使用WebServices时候遇到“基础连接以关闭”的问题
- 关于如何使用TXT、CSV表的问题.
- 关于使用VS.Net2003调试器出现的问题及相关解决方法 (转)
- 关于delphi里面使用QUICK REPORT 打印的种种问题
- 关于使用docuemnt.write问题
- 关于使用VS.Net2003调试器出现的问题及相关解决方法
- 详细描述关于aps.net 下使用水晶报表的问题!(一)