我现在正在处理 wav 文件,我正在解析它们。我暂时不想使用库。我用 fstream 打开 wav 文件并将所有数据读入向量。现在我想解析 wav 文件头。例如,我想获取第 4 和第 8 个字节之间的文件大小。我想将它分配给一个 integer 。我很容易用 memcpy 完成这个。但因为它是 C++,我不想使用 memcpy。我最终得到的解决方案:
std::vector<unsigned char>::iterator vectorIte = soundFileDataVec.begin();
vawParams.totalfilesize = 0;
//Since it is little endian I used reverse_copy
std::reverse_copy(vectorIte + 4, vectorIte + 7, (unsigned char*)&vawParams.totalfilesize);
我对 (unsigned char*) 转换为整数指针不满意。我怀疑有比我更好的方法。你能告诉我一个更好的方法吗?