Двойной синтаксический анализ строк в С ++ - PullRequest
1 голос
/ 14 апреля 2010

Вот забавный пример, который я пытался выяснить. У меня есть следующая программа:

#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

EDIT:

Хорошо, извините, что превратил это в двойной пост , но это похоже на проблему, специфичную для Xcode. Если я скомпилирую это в g ++, код работает без проблем. У кого-нибудь есть идея, почему это происходит в XCode, и как я мог бы это исправить?

Ответы [ 2 ]

3 голосов
/ 14 апреля 2010

Вы уверены, что это именно то, что вы строите? Я получаю 5 и 0, как и ожидалось

2 голосов
/ 14 апреля 2010

Возможно, это проблема, с которой вы столкнулись: строковый вопрос

См. принятый ответ и ссылку в нем . Пример ссылки на обсуждение Apple очень похож на то, что вы испытываете.

...