c++字符串操作之std::ostringstream踩坑日记
在开发过程中经常会遇到字符串操作,而std::string又没有format操作,这就很难受了。
于是我找到了std::ostringstream类;ostringstream类的用法也很简单,就是流操作。
头文件:include <sstream>
如:
int number = 14;
double ddata = 21.7;
char* pstr = "test";
std::ostringstream ostr;
ostr << "开始测试:" << std::endl;
ostr << "整形数据为:" << number << std::endl;
ostr << "浮点数为:" << ddata << std::endl;
ostr << "字符串为:" << pstr << std::endl;
std::cout << ostr.str();//str()是以std::string的形式返回
输出结果是这样的
开始测试:
整形数据为:14
浮点数为:21.7
字符串为:test
但是问题来了,通常一个变量或对象需要重复使用。那我要如何清除流中的数据呢?
一般的思路都是clear()。因为在STL容器里习惯都是clear()方法清空容器。所以第一反应都是用clear()方法来清除流中的数据。
试调用,ostr.clear();编译不报错(说明有这个方法存在,心