C中的Stringstream字符串到整数转换

C中的Stringstream字符串到整数转换,第1张

概述我刚刚阅读了C中的stringstream并实现了一个简单的程序. #include <iostream>#include <sstream>using namespace std;int main(){ int num; stringstream sso; string str; //integer to string cin >> num; 我刚刚阅读了C中的stringstream并实现了一个简单的程序.

#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字符串到整数转换所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1216929.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存