区别:
clear():清除流的状态标志,但不会改变流中的内容。
str(”“):清空流中的数据,相当于无论之前流中的数据是什么,使用str(”“)之后,流数据为空,并且将状态符固定。
例1:两者均无的实例
#include <sstream>
#include <iostream>
#include<string>
using namespace std;
void main(void)
{
stringstream aa;
int a=123,b=456;
string m,n;
aa<<a;//插入int数据,插入后,流的eofbit位固定,所以流将不再接受数据
aa>>m;//装换为字符串 m=”123“
aa<<b;//eofbit位固定,不会接收b
aa>>n;//n=”“
cout<