0
我試圖讀取使用的fread文件的碼流爲如何防止類型轉換過程中的數據丟失?
fread(buff, buffSize, 1, fp);
。 buff is the buffer to which i am reading
。 buffSize is the size of buffer
,和fp is the file pointer
我正在閱讀。 將數據讀取到緩衝區後,我嘗試將緩衝區內容轉換爲另一個結構變量。結構形式
typedef struct data
{
char id;
short value1;
short value2;
....
}data;
我所做的就是
data* var;
var = (data*)buff;
然後我試圖訪問該結構中的變量,如果比特流是像00 b0 11 c1 00
如果是這樣的情況下, var->id
應0x00
。和var->value1
應0xb011
和var->value2
應0xc100
但是我所得到的是
var->id = 0x00;
var->value1 = 0x11c1;
...
它爲什麼我沒有收到預期? 當我將第一個參數類型改爲short時,值得到var->id was 0x00b0
。 有沒有什麼像最小訪問量是2 Bytes
? 如何解決這個問題? 我只想讀第一個字節到var->id
字段。
謝謝cnicutar ....這真的工作 – jithin 2013-03-02 21:35:16