全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:820
推到 Plurk!
推到 Facebook!

想請問long 要怎樣才可以變成char array

尚未結案
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-18 11:53:34 IP:218.103.xxx.xxx 未訂閱
我現在有 unsigned long a,b,c char *result 我想的是 a , b, c 的第一個byte 變成char 之後一個個加上 result for example a = 0x11111111, b = 0x22222222,c= 0x33333333 result = 112233 謝謝
jimmy_and_you
初階會員


發表:20
回覆:74
積分:33
註冊:2003-05-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-18 12:23:27 IP:203.70.xxx.xxx 未訂閱
引言: 我現在有 unsigned long a,b,c char *result 我想的是 a , b, c 的第一個byte 變成char 之後一個個加上 result for example a = 0x11111111, b = 0x22222222,c= 0x33333333 result = 112233 謝謝
先算出結果再輸出到char array
    unsigned long num[3],anser=0;
    char result[80];
    num[0] = 0x11111111;
    num[1] = 0x22222222;
    num[2] = 0x33333333;
    for(int i=0 ; i<3 ; i  )
        anser = (anser<<8) | (num[i]>>24);
    sprintf(result,"result = %X",anser);
 
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-18 13:01:21 IP:221.169.xxx.xxx 未訂閱
利用 union
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-18 15:12:20 IP:218.103.xxx.xxx 未訂閱
其實我的意思是這樣 a = 0x??????12 b = 0x??????23 c = 0x??????43 ? 是don't care result = 122343
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-18 15:51:44 IP:221.169.xxx.xxx 未訂閱
沒錯啦。 去查查 union 怎麼用啦。 把 long 分成四個 char 就可以做你要的工作了啦。 去查才會進步啦。
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-04-18 16:54:50 IP:218.103.xxx.xxx 未訂閱
謝謝暗黑破壞神 我找找看 有問題再請教你
wu-eric
中階會員


發表:14
回覆:82
積分:64
註冊:2004-03-17

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-04-18 19:04:05 IP:210.66.xxx.xxx 未訂閱
引言: 我想的是 a , b, c 的第一個byte 變成char 之後一個個加上 result for example a = 0x11111111, b = 0x22222222,c= 0x33333333 result = 112233
提供你另一個方法
 
    unsigned long a,b,c,d;
    char result[10];
    a=0x12345678;
    b=0x87654321;
    c=0x24681357;
    d=((a&0x000000ff)<<16) | ((b&0x000000ff)<<8) | (c&0x000000ff);
    sprintf(result,"%lx",d);
result = 782157;
系統時間:2024-05-19 17:11:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!