Re: [問題] 請問有關型態轉換
感謝各位大大的說明,
我現在試著用hilorrk大大的方法寫過濾的條件,
但是不論我是這樣取,
sscanf(get,"%x[^:]%x[^:]%x[^:]%x[^:]%x[^:]%x",&get0[0],&get0[1],&get0[2],
&get0[3],&get0[4],&get0[5]);
或者是這樣取
sscanf(get,"%x%:%x%:%x%:%x%:%x%:%x",&get1[0],&get1[1],&get1[2],&get1[3],
&get1[4],&get1[5]);
出現的值都是0 0 0 0 0 0,
請問各位大大我應該如何寫?
才能得到正常的內容呢?
謝謝。
※ 引述《biingen (餅乾)》之銘言:
: 標題: [問題] 請問有關型態轉換
: 時間: Sat Dec 26 10:29:47 2009
:
: 遇到的問題: (題意請描述清楚)
: 目前我取得一串的網路MAC Address的資料,例如:00:11:22:33:44:55,我要用何種方法
: 能取得xx的資料,我有試過用strcpy來取,但我希望能每個"11"變成一個0x11。
:
:
: 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
: gcc,Linux
:
: 謝謝各位大大的回答。
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 59.104.85.201
: 推 hilorrk:sscanf+%x 12/26 10:33
: → suhorng:((str[i]-'0')*16 + str[i+1]-'0') 12/26 16:53
: 推 VictorTom:'A'~'F'或者'a'~'f' - '0'以後會....XD 12/26 17:52
: → hilorrk:我的方法不好嗎0.0 12/26 18:53
: → suhorng:對吼我笨了XD 一樓別誤會啊~~~ 12/26 22:50
: → suhorng:一樓的應該是最方便的解法了吧XD 12/26 22:51
: → MOONRAKER:sstream可能更graceful一點 12/27 22:17
: → biingen:請問sstream是屠語法嗎?我查都是c++的程式庫中的參數。謝 12/29 10:07
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 120.101.3.48
推
12/29 14:59, , 1F
12/29 14:59, 1F
謝謝LPH66大大的方法,
我已將程式改為
get=00:11:22:33:44:55
sscanf(strtok(get,":"),"%x",&get1[0]);
sscanf(strtok(NULL,":"),"%x",&get1[1]);
sscanf(strtok(NULL,":"),"%x",&get1[2]);
sscanf(strtok(NULL,":"),"%x",&get1[3]);
sscanf(strtok(NULL,":"),"%x",&get1[4]);
sscanf(strtok(NULL,":"),"%x",&get1[5]);
printf("%x %x %x %x %x %x\n",get1[0],get1[1],get1[2],get1[3],get1[4],get1[5]);
但得到的值卻是
0 11 ffffff22 ffffff33 ffffff44 ffffff55
請問各位大大這要怎麼簡化成為 00 11 22 33 44 55呢?
謝謝。
※ 編輯: biingen 來自: 120.101.3.45 (12/29 19:26)
推
12/30 04:19, , 2F
12/30 04:19, 2F
→
12/30 09:25, , 3F
12/30 09:25, 3F
討論串 (同標題文章)