我们有一个二进制文件,表示按列排列的数据。
每列都有不同的数据格式,例如:
用C ++读取这些文件的最佳方法是什么,我可以在matlab中完成,但我真的不知道如何在C ++中做到这一点
答案 0 :(得分:5)
假设这些值按顺序排列:
unsigned long int dataMember0 = 0;
int dataMember1 = 0;
float dataMember2 = 0.0;
std::ifstream fileStream("file.bin", std::ios::in | std::ios::binary);
fileStream.read((char*)&dataMember0, sizeof(unsigned long int));
fileStream.read((char*)&dataMember1, sizeof(int));
fileStream.read((char*)&dataMember2, sizeof(float));
您转换了一个char指针,因为它被读取为一个字节数组(char是一个字节)。如果您想循环此过程:while(fileStream) {...}
将执行,直到没有更多要阅读