看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: Win10, Linux, ...) win7 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) VC++ 問題(Question): 假設欲將收到4個封包的數值,直接轉成字串格式, 如下: char c[4]; c[0] = 0x11; c[1] = 0x22; c[2] = 0x33; c[3] = 0x44; 想要得到一字串,輸出結果為 data="11223344" 想請問這樣可以使用什麼函式直接轉出來嗎? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.58.107 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1541904359.A.06A.html
kokal: sprintf和%x 11/11 11:24
kokal: buffer記得要留'\0'的空間 11/11 11:29
smvenjoy: 有試過,但轉出來不是我想要的 11/11 11:32
smvenjoy: char data[9];sprintf((char*) &data[0],"%x", &(c[0])) 11/11 11:34
smvenjoy: 印出data的結果並不對耶 11/11 11:35
idiont: 你要的是c[0]的值 不是記憶體位址 不用加& 11/11 11:45
PkmX: Endianness 11/11 13:17
kokal: sprintf(buf, "%x%x%x%x", c[0], c[1], c[2], c[3]); 11/11 17:34
smvenjoy: 謝謝教導,已解決 11/11 23:19
japing: 原來可以這樣做XDDD 11/15 09:48