代码之家  ›  专栏  ›  技术社区  ›  LandonSchropp

C++中双重失败的字符串解析

  •  1
  • LandonSchropp  · 技术社区  · 14 年前

    这是一个有趣的,我一直在想办法。我有以下程序:

    #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
    

    我不明白为什么会失败。有人能告诉我我做错了什么吗?

    谢谢,

    螺旋形的

    编辑:

    好的,很抱歉把这个变成 double post 但这似乎是Xcode特有的问题。如果我用G++编译它,代码就可以毫无问题地工作。有人知道Xcode为什么会发生这种情况吗?我怎么可能修复它?

    2 回复  |  直到 11 年前
        1
  •  2
  •   Community Maslow    7 年前

    也许这就是你面临的问题: stringstream question

    accepted answer 以及 link therein . 苹果讨论链接中的一个例子听起来很像你正在经历的。

        2
  •  3
  •   Michael Mrozek    14 年前

    你确定这正是你要建造的吗?我得到 5 0 如期