C/C++:将内存地址字符串转换回指针

pet*_*r61 4 c c++ pointers

假设我有char*表示的内存地址(比如说"0x27cd10").如何将其转换为指针(void*)?

int main() {
     const char* address = "0x29cd10";
     void* p;

     // I want p to point to address 0x29cd10 now...

     return 0;
}
Run Code Online (Sandbox Code Playgroud)

谢谢

Ben*_*igt 7

strtol允许您0x在解析字符串时指定基数(16表示十六进制,或0表示根据输入中的前缀自动检测).将指针存储为整数后,只需使用reinterpret_cast形成指针即可.