看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《vtr198172 (43米的深海)》之銘言: : 大家好, : 我想要將10個十六進制的數字存入一個動態陣列中,應該如何寫呢? : 我原本的做法是, 抱歉,一時打錯了....修改如下,這樣是compiler會過的 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); : 很顯然的這樣並不會過,請問我該如何寫呢?謝謝各位 經過VictorTom大大的說明,知道了為什麼我動態陣列不會過了. 不過由於這串值是沒有規律的,所以VictorTom大大提供的三個方法 看來只有外部開檔用memcpy的方式了。 會想用動態的方式是擔心若陣列太大時,會佔資源。 感謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.22.20.210
ledia:我猜你的意思是怕 stack 會爆? 外部開檔讀進來也是會佔資源 12/23 11:46
VictorTom:像VC好像stack預設發warning是1K還是4K, 也許你可以先說 12/23 11:48
VictorTom:說資料量多大; 另外如果開檔的話應該用fread讀而不是用 12/23 11:48
VictorTom:memcpy, 更新一下自己上篇推文沒注意到的地方....^^|| 12/23 11:48