Convert Char adderss back to __int64 or long
<p>I have defined a pointer address for window</p>

<pre><code>#ifdef _WIN64 

    typedef uint64_t unit_pointer;

#   define PRINTF_PTR "%I64x"

#else

    typedef unsigned long unit_pointer;

#   define PRINTF_PTR "%lx"

#endif

TEST *obj = &amp;test_obj;

char obj_pointer_add[50]; 

sprintf(obj_pointer_add, PRINTF_PTR, (unit_pointer)obj);
</code></pre>

<p>Now i want to recreate the obj pointer in other place, given that i know obj_pointer_add.
How could i convert back obj_pointer_add to unit_pointer? </p>

<pre><code>unit_pointer point_address= (unit_pointer)obj_pointer_add; (ERROR CONVERTING)

TEST *new_obj = reinterpret_cast&lt;TEST *&gt;(point_address); (fail because of pointer_address wrong)
</code></pre>

<p>Thanks</p>
