#include <iostream>#include <sstream>using namespace std;int main(){ int num; stringstream sso; string str; //integer to string cin >> num; sso << num; sso >> str; cout << "String form of number : " << str << endl; //string to integer cin >> str; sso << str; sso >> num; //num still has value from prevIoUs integer to string???? cout << "Integer form of string (+2) :" << (num + 2) << endl; return 0;}
这是输出:
12String form of number : 1244Integer form of string (+2) :14
我收到错误的输出,因为num没有得到更新,仍然保留以前计算的旧值.我在做什么是愚蠢的错误?
解决方法 您应该在使用之间清除字符串流,因为eofbit已在首次使用期间设置:sso.clear();sso.str("");总结
以上是内存溢出为你收集整理的C中的Stringstream字符串到整数转换全部内容,希望文章能够帮你解决C中的Stringstream字符串到整数转换所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)