我使用以下代码使用 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;
那么如何从输入数组中读取双精度类型的数据并填充向量呢?
可能最简单的方法是使用旧的 C mem* 函数:
memcpy(&table[0], &data[Index], table.size() * sizeof(double));
您可以在数据周围使用内存流,因此反序列化的相同代码可以处理打开的文件、内存或任何流。