检索存储为字符串的地址

时间:2018-11-20 22:07:33

标签: c pointers format

我有一个字符串

char value[16]="ffffffffc06e91"

我需要检索以字符串形式存储在变量值中的地址。

即..

void * ptr = NULL;
somefunction(value,ptr); // ptr = 0xffffffffc06e91

是否有这样做的功能或方法?

谢谢

2 个答案:

答案 0 :(得分:1)

请勿使用atoi()int值可能不足以存储该值,并且该函数不适用于十六进制字符串。

改为使用strtoll()

void *ptr = (void*)strtoll("ffffffffc06e91", NULL, 16);

答案 1 :(得分:0)

我们可以使用strtol来完成此任务,这要感谢@Bwebb指出atoi导致了我的strtol。

void * ptr = (void*)(long)strtol(value,NULL,16);