C++ - Convert std::string of float array

Viewed 1212
1 Answers

Get the string's backing data pointer from the c_str() method. Then reinterpret_cast it back to the float pointer.

const float* array_of_floats = reinterpret_cast<const float*>(str.c_str());
int len = str.size() / sizeof(float);

In general, serializing binary data (such as array of floats) into string can work, but is at best weird and more likely ill-advised. You are better off using std::vector<uint8_t> as an array of bytes to hold your floating pointer data instead of an instance of a string.

Related