从字符串中读取多个逗号分隔的双精度数

时间:2012-02-19 13:34:35

标签: c++ string double type-conversion

我需要从字符串中获取一些双打。

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 个答案:

答案 0 :(得分:3)

应该是:

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

if (data.c_str() == next)

请记住next将指向下一个逗号,如果它们是逗号分隔的,而不是下一个数字的开头。