2013-10-23 71 views
-1

我想用C++編寫一個程序,這樣我就可以讀取帶有3個字節的文件頭的文件。 1個變量的1個字節。
如何在C++中讀取文件頭

我想在C++中定義一個帶有3個變量的結構,並且它們都有1個字節,這樣我就可以從文件讀取這三個變量的值。

我的想法是這樣的:

struct header{ 
    datatype a; 
    datatype b; 
    datatype c; 
} 

那麼我就可以:

FILE *fp=fopen(fileName,"rb"); 
header head; 
fread(&head, sizeof(header),1,fp); 

這些變量用於計算和他們的範圍是從0至255。我可以在C++中使用哪些數據類型?

+0

我通常不會爲這個問題而低估,但你會問「C++中的數據類型是1個字節」。這證明這裏沒有研究。 –

+0

我知道字符大小爲1字節,但我需要計算。我的意思是當我這樣做時:'char a = 10; a + = 1; cout << a;'那不是我想要的。我不知道該怎麼做。 – sflee

+1

char在大多數平臺上的大小爲1。不要依賴它。另外,'char'是一個整數類型。你可以用它來進行計算。只需在打印前進行轉換:'cout <<(int)a;'。 –

回答

4

使用uint8_t包含在<cstdint>中,對於datatype,其具有1字節的長度。

+0

但讀取的位將完全相同,以及編譯器如何處理它可能是不相關的,如果OP要單獨閱讀它們例如。 –

1

您可以使用char,這正是1個字節。