串解析翻一番用C ++失败(string parsing to double fails in C+

2019-10-21 02:56发布

这是一个有趣的一个,我一直试图弄清楚。 我有以下程序:

#include <iostream>
#include <string>
#include <sstream>

using namespace std;

int main(int argc, char *argv[])
{
    string s("5");
    istringstream stream(s);

    double theValue;
    stream >> theValue;

    cout << theValue << endl;
    cout << stream.fail();
}

输出是:

0
1

我不明白这是为什么失败。 可能有人请告诉我,我做错了什么?

谢谢,

helixed

编辑:

好了,对不起,把它变成一个双重职位 ,但这个貌似具体到Xcode中的一个问题。 如果我这个编译g ++中,代码工作没有问题。 没有任何人有一个想法,为什么这是在Xcode中发生的事情,我怎么可能解决呢?

Answer 1:

也许这是你遇到的问题: stringstream的问题

见接受的答案和其中的链接 。 在苹果讨论链接一个例子听起来很像您遇到什么。



Answer 2:

你确定这正是你正在构建的? 我得到50的预期



文章来源: string parsing to double fails in C++