在C ++中将字符串转换为float []数组

时间:2013-12-30 19:22:48

标签: c++

我有一个字符串,其中包含float数组的字节。 (我知道我在哪里得到它们,它们的顺序是第1,第2,第3,第4字节=浮动) 大约10,000个花车

如何将此std:string转换为带有C ++中10000个数字的float数组

1 个答案:

答案 0 :(得分:1)

模块化正确的字节顺序,以下可能是一个想法:

#include <algorithm>
#include <cassert>
#include <string>
#include <vector>

std::vector<float> string_to_float(std::string const & s)
{
    assert(s.size() % sizeof(float) == 0);

    std::vector<float> result(s.size() / sizeof(float));

    if (!result.empty())
    {
        std::copy(s.data(), s.data() + s.size(),
                  reinterpret_cast<char *>(&result.front()));
    }

    return result;
}