看板 C_and_CPP 關於我們 聯絡資訊
大家好, 我想要將10個十六進制的數字存入一個動態陣列中,應該如何寫呢? 我原本的做法是, char buf[] = {"0x01","0x02","0x03","0x04","0x05", "0x06","0x07","0x08","0x09,"0x10"}; 但是我想改成動態陣列的做法,如下 char* buf = malloc( 10*sizeof(char) ); buf = {"0x01","0x02","0x03","0x04","0x05", "0x06","0x07","0x08","0x09,"0x10"}; free(buf); 很顯然的這樣並不會過,請問我該如何寫呢?謝謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.22.20.210
ledia:原本的做法也不會 compile 過吧? @@ 12/23 10:50
VictorTom:先不管原來的寫法好像也有問題, 你後面動態配置完那樣 12/23 10:52
VictorTom:assign是錯的, 你有幾種方法可以選擇.... 12/23 10:52
VictorTom:1. 寫10次assign, 一個一個給值. 12/23 10:53
VictorTom:2. 跑迴圈給值, 如果值都有規律性. 12/23 10:53
VictorTom:3. 把資料先存起來(檔案或其他靜態array)再一次memcpy. 12/23 10:54
VictorTom:我發現一件事, "0x01"是一個佔5bytes的char string.... 12/23 10:58
VictorTom:你這樣malloc的空間根本就不夠用; 現在搞不太清楚你是誤 12/23 10:58
VictorTom:寫了, 還是應該是要用二維的字串陣列....@_@" 12/23 10:58