如何将long值转换为字符串而不更改其内容?

时间:2011-02-07 12:24:36

标签: c++ c

你有一个值为0x6859510364的指针变量,  我必须将它转换为字符串而不改变它的值。 请任何人都可以帮助我。 提前谢谢。

2 个答案:

答案 0 :(得分:1)

您可以随时使用std::ostringstream,例如

#include <sstream>
#include <string>

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

注意:如果它是一个函数指针,那么它不能正式转换为void*,然后你必须调整上面函数的签名来获取指针类型。

您可能还需要添加const等。

不是自己编写这些函数,而是可以使用Boost库中的boost::lexical_cast

干杯&amp;第h。,

答案 1 :(得分:1)

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