![](/img/trans.png)
[英](homework) How to put a C-string from one pointer into the memory address of another pointer?
[英]How to extract address from c-string
我正在編寫程序,我需要從c字符串獲取指針。 例如,我有一個像“ 0x3b021e01”這樣的字符串,作為輸出,我想要一個合法的指針void * ptr == 0x3021e101。
我嘗試了這種方法:
char *addr = "0x3021e101"; // this address is just an example of 32-bit addr
uint32_t iaddr = from_ch_to_hex(addr); // iaddr == 0x3021e101
void *data_buf = (void *)iaddr; // data_buf = 0x3021e101
uint32_t reg_val = *(uint32_t *)data_buf;
但是我遇到了細分錯誤。 怎么了 我該如何解決?
0x3b021e101是奇數,因此您會期望對齊錯誤。
順便說一句,除非您通過其他方式知道該地址是有效的(例如,通過指向該地址的指針),否則為什么不只使用該指針呢?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.