看板 C_and_CPP 關於我們 聯絡資訊
我有一個陣列 char buffer[100] 我想將前4個byte的值寫入一個int的變數中 請問有沒有更好的作法,以下是我的作法 char buffer[100]; for(i=0;i<100;i++){ buffer[i] = i;} int NUM_SIZE; memcpy(&NUM_SIZE, buffer, sizeof(int) ); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.22.20.210
VictorTom:四個byte拼成一個int?? 可以直接union起來嗎....@_@" 11/24 16:13
VictorTom:不過union可能要注意endian的問題就了....@_@" 11/24 16:14
littleshan:memcpy也一樣 11/24 16:16
ksmrt0123:試試看直接typecast: NUM_SIZE = *((int *)buffer); 11/24 16:34
ksmrt0123:endian 要對才可以用 11/24 16:35
VictorTom:感想: 這些印弟安怎麼這麼麻煩.... (大誤XD) 11/24 16:36