用StringStream来替换iota等类型转换

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("");    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值