c++ 中使用stringstream对象来进行类型转换

来源:互联网 发布:cf视频软件中文版 编辑:程序博客网 时间:2024/06/01 09:36
进入stringstream

由于ns的类型在编译期就确定了,所以编译器拥有足够的信息来判断需要哪些转换。<sstream>库中声明的标准类就利用了这一点,自动选择所必需的转换。而且,转换结果保存在stringstream对象的内部缓冲中。你不必担心缓冲区溢出,因为这些对象会根据需要自动分配存储空间。


string到int的转换,然后相反


#include <sstream>string word;string out_word;int a;while(infile>>word){stringstream ss;stringstream ss1;ss << word;ss >> a;a = a - 2461254;ss1 << a;ss1 >> out_word;    outfile<<out_word<<endl;}

值得注意的是每次申明赋值一个stringstream对象后,只能使用一次。所以我这里每一个循环都申明一个新的stringstream对象。


至于原因,不清楚。可能是在输入值到stringstream类型缓存中去的时候,因为编译器知道输入值的类型,所以在初始化stringstream类型对象的时候有特定的赋值。不能再次使用。



原创粉丝点击