用StringStream来替换iota等类型转换

来源:互联网 发布:谷原章介 知乎 编辑:程序博客网 时间:2024/06/06 00:45

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("");    
原创粉丝点击