2011-02-07 3 views
-1

hi a есть переменная указателя со значением 0x6859510364, Мне нужно преобразовать ее в строку с изменением ее значения. пожалуйста, кто-нибудь может мне помочь. благодарит заранее.Как преобразовать длинное значение в строку без изменения его содержимого?

+2

Вы хотите адрес или содержимое этого адреса? –

+1

Какой бы ни был ответ, есть много вопросов, таких как этот уже ответил. Пожалуйста, найдите их. – Simone

+1

Вам нужно решить, выполняете ли вы это на C или C++ - это два разных языка. –

ответ

1

вы всегда можете использовать std::ostringstream, как

#include <sstream> 
#include <string> 

std::string toString(void* p) 
{ 
    std::ostringstream stream; 
    stream << p; 
    return stream.str(); 
} 

примечание: если это указатель на функцию, то это формально не конвертируются в void*, а затем вы должны настроить подпись функции выше, чтобы принять ваш тип указателя ,

вы можете также добавить const и т.д.

вместо того, чтобы писать такие функции себя, вы можете использовать boost::lexical_cast, из библиотеки Boost.

Приветствия & НТН.,

1
long* number;//=0x6859510364; 
TCHAR str[20]; 
_ltot_s(*number, str, 16); 
+0

эй IAZ plz может сказать, какой файл должен быть включен. – Balaji

+0

Я имею в виду, какой heder файл _ltot_s в определенном – Balaji