我想從二進制文件中讀取數據,然後存儲在數據結構中供以後使用。問題是,我不想確切知道什麼類型的時候,我正在讀取和存儲它。我只是想存儲關於它是什麼類型的數據以及這個特定類型的數據有多少的信息(在這個數據的第一對字節中容易獲得的信息)如何在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