[閒聊] C++大師請進

看板Marginalman作者 ('_')時間3年前 (2020/10/21 14:32), 3年前編輯推噓3(3011)
留言14則, 6人參與, 3年前最新討論串2/5 (看更多)
幹你unsigned char 要怎麼把int或unsighed int放進unsigned char陣列 MacAddress傳進來一個字串 我先用sscanf放進unsigned int陣列 然後沒辦法一個一個放進unsigned char陣列 這什麼低端語言啦== -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.143.172 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1603261951.A.C3C.html

10/21 14:35, 3年前 , 1F
一個一個轉成字元阿
10/21 14:35, 1F

10/21 14:40, 3年前 , 2F
為什麼要把字串放到unsigned int陣列?
10/21 14:40, 2F

10/21 14:45, 3年前 , 3F
把指針轉型
10/21 14:45, 3F

10/21 14:47, 3年前 , 4F
我貼個code
10/21 14:47, 4F
U8就是unsiged char dest在外面是一個U8 dest[6] void foo(U8 * dest, const char * source) { UINT Mac[6] = { NULL }; CStringA c_src(source); if (c_src.Find(":") != -1) { sscanf_s(source, "%x:%x:%x:%x:%x:%x%*c", &Mac[0], &Mac[1], &Mac[2], &Mac[3], &Mac[4], &Mac[5]); } for (int i = 0; i < 6; i++) { dest[i] = (U8)Mac[i]; } }

10/21 14:50, 3年前 , 5F
一開始直接用unsigned char接不行嗎
10/21 14:50, 5F

10/21 14:50, 3年前 , 6F
sscanf要用UINT
10/21 14:50, 6F
※ 編輯: yam276 (60.248.143.172 臺灣), 10/21/2020 14:52:18

10/21 14:54, 3年前 , 7F
就最後那個for迴圈怎麼搞dest都是'\0'
10/21 14:54, 7F

10/21 14:55, 3年前 , 8F
明明stackoverflow的解答說可以直接轉
10/21 14:55, 8F

10/21 14:57, 3年前 , 9F
可以用union
10/21 14:57, 9F

10/21 15:00, 3年前 , 10F
幫你問ㄌ,%hh
10/21 15:00, 10F

10/21 15:05, 3年前 , 11F
%hhx
10/21 15:05, 11F

10/21 15:11, 3年前 , 12F
%hhx會跳怪怪的警告ㄟ
10/21 15:11, 12F

10/21 15:20, 3年前 , 13F
解決ㄌ 謝謝各位大師
10/21 15:20, 13F

10/21 15:21, 3年前 , 14F
直接用U8跟hhx接
10/21 15:21, 14F
※ 編輯: yam276 (60.248.143.172 臺灣), 10/21/2020 18:20:25
文章代碼(AID): #1VZzN_my (Marginalman)
文章代碼(AID): #1VZzN_my (Marginalman)