Читать несколько двойных запятых двойных строк - PullRequest
1 голос
/ 19 февраля 2012

Мне нужно получить несколько двойников из строки.

string data = getMyData();
char** next;
double start = strtod(data.c_str(), next);

if (&data == &(*next)) //check wether a double has been found - not working
{
    std::cerr << "Value can't be read.\nAborting.";
    return;
}

Моя идея - проверить адрес памяти первого символа данных и следующий.В данный момент я изучаю C ++ по принципу самообучения, поэтому было бы неплохо получить лучшее, а не только рабочее решение.

1 Ответ

3 голосов
/ 19 февраля 2012

Должно быть:

char* next;
double start = strtod(data.c_str(), &next);

if (data.c_str() == next)

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

...