1.stringstream的<< >> 操作符可以直接操作字符串或数值
如:
#ifdef _UNICODE
typedef std::wstring tstring;
typedef std::wstringstream tstringstream;
#else
typedef std::string tstring;
typedef std::stringstream tstringstream;
#endif
int num = 2;
tstring strNum;
tstringstream stream;
stream << num;
stream >> strNum;
tstring strCHN = _T("汉字");
tstring strCHNN;
tstringstream strm;
strm << strCHN;
strm >> strCHNN;
2.>>操作符自动以空格作为截断,所以>>不适合用于输入一个带有空格的字符串,应该使用如下方法:
stringstream ss;
string strSql = ss.str();
或者使用getline函数
3.当多次使用同一个stringstream时,需要清空缓存
stringstream ss;
错误用法
ss.clear(); //实际上,它并不清空任何内容,它只是重置了流的状态标志而已!
正确用法
ss.str("");