我想从二进制文件中读取数据,然后存储在数据结构中供以后使用。问题是,我不想确切知道什么类型的时候,我正在读取和存储它。我只是想存储关于它是什么类型的数据以及这个特定类型的数据有多少的信息(在这个数据的第一对字节中容易获得的信息)如何在C++中读取特定大小和存储未知类型的数据?
但是我怎样才能读取数据的数量,不管它是什么类型,并且仍然能够稍后将数据转换成可读形式(或类似的东西)?
我的第一个想法是使用字符,因为我要查看的所有数据都将以字节为单位。
但是,如果我做了这样的事情:
ifstream fileStream;
fileStream.open("fileName.tiff", ios::binary);
//if I had to read in 4 bytes of data
char memory[4];
fileStream.read((char *)&memory, 4);
但我怎么能投这4个字节,如果我以后,我想读这一点,知道这是一个双?
什么是最好的方式来读取未知类型的数据,但知道大小供以后使用? fireStream, 。
sizeof char被定义为1,但这并不意味着1个8位字节。 – 2009-02-16 03:33:57