我有一个固定长度的浮点数组。现在我想将该数组转换为二进制字符串。C++ - 将浮点数组转换为std :: string
我不能使用const char *
,因为我的字符串将包含空字节。在那种情况下我将如何使用memcpy?我已经尝试过reinterpret_cast<string *>
,但这样做不起作用,因为字符串也只是存储指向数据开始和结束的指针(如果我错了,请纠正我)。
我已经构建一个空字符串:
string s;
s.resize(arr_size);
但我怎么会花车的阵列复制到该字符串?
基本上,我想将固定浮点数组的内存区域转储为字符串。
不要硬和我在一起,我还在学习C++
如果使用字符串的两个迭代器构造,你不必担心尺寸。 –
我得到'警告C4996'(但我认为这是确定)..但我也越来越'错误C3892 - 你不能分配给一个变量是const' ..也许这是因为s.data()是常量? – tobspr
@ H2CO3那是怎么回事?或者您正在与阵列的定义调用它,在这种情况下,可以使用'的std ::开始()'和'的std ::端()'(或在工具包等同于预C++ 11 ),或者你在一个已经传递了指针的函数中,在这种情况下,该函数也可以使用一个长度(在元素中)或一个结束指针。 –