Как преобразовать адрес, хранящийся в массиве символов, в реальный адрес? - PullRequest
1 голос
/ 22 сентября 2011

У меня есть следующий массив символов:

char hex[16] = "0x7fffa410c240"

Как я могу преобразовать его в числовой адрес, который может быть присвоен другой переменной.Важно то, что я должен оставить основание значения таким же, то есть 16 (шестнадцатеричное).Заранее спасибо.

Ответы [ 2 ]

6 голосов
/ 22 сентября 2011

Попробуйте функцию strtoull, которая возвращает unsigned long long.

В Visual Studio strtoull недоступна, но _strtoui64, вероятно, может бытьused.

EDIT

Как указано в комментариях R .. , вы, вероятно, должны использовать sscanf(hex, "%p", ..) или strtoumax, который имеет тот же прототип, что и strtoull, новозвращает uintmax_t.

1 голос
/ 22 сентября 2011
void *ptr;
sscanf(hex, "%p", &ptr);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...