Saurabh Saxena
Saurabh Saxena

Reputation: 1407

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

This question is a follow up to C++ - Convert array of floats to std::string.

How to convert a std::string back to float array that was converted to string using reinterpret_cast.

Upvotes: 2

Views: 1482

Answers (1)

selbie
selbie

Reputation: 104559

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.

Upvotes: 2

Related Questions