我使用fread使用以下代码
从文件中读取数据vector<double> table;
table.resize(10);
fread(&table[0],table.size()*sizeof(double), 1, fp);
但现在我将数据放在一个十六进制值为
的数组中喜欢
const unsigned char data[] = {0x50,0x11,0x12,......};
我知道从哪里读取数据的索引,
说int Index = 100;
那么如何从输入数组中读取double类型的数据并填充向量?
答案 0 :(得分:1)
可能最简单的方法是使用旧的C mem *函数:
memcpy(&table[0], &data[Index], table.size() * sizeof(double));
答案 1 :(得分:1)
您可以在数据周围使用内存流,因此反序列化的相同代码可以在打开的文件,内存或任何流上运行。