Re: [問題] C語言int轉byte寫入char

看板C_and_CPP作者時間14年前 (2010/12/08 05:30), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
※ 引述《cophie (內褲魔)》之銘言: : 請問一下如果剛好跟這題相反 : 想要將四個char合成int的話 : char temp[4]; : int *num; : for(int i=0;i<4;i++) : num=(int*)temp[i]; : 我的想法是這樣 不過根本compile不過 : 請益各位高手了 : ※ 引述《pico2k (風月)》之銘言: : : ... : : int a = 10; : : char *c = null; : : c = (char*)&a; : : a1 = *c; : : a2 = *(c+1); : : a3 = *(c+2); : : a4 = *(c+3); : : ... 剛好最近有用到類似的功能: union TypeChg { public: char _char[4]; int _int; }; int main(int argc, char *argv[]) { TypeChg Tmp; Tmp._int = 0x123456; cout<<hex<<((int)Tmp._char[0])&0xFF<<endl; // Tmp._char[0] == 0x56 cout<<hex<<((int)Tmp._char[1])&0xFF<<endl; // Tmp._char[1] == 0x34 cout<<hex<<((int)Tmp._char[2])&0xFF<<endl; // Tmp._char[2] == 0x12 cout<<hex<<((int)Tmp._char[3])&0xFF<<endl; // Tmp._char[3] == 0x00 ... } 可能要先用sizeof確認一下int跟char的比例。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.67.181.135 ※ 編輯: icetofux 來自: 203.67.181.135 (12/08 13:32)
文章代碼(AID): #1C_nWGRA (C_and_CPP)
文章代碼(AID): #1C_nWGRA (C_and_CPP)