Casts don't convert anything at all when you're dealing with pointers.

char *p = "1234";

Saying
int *q = (int*)p;
doesn't make *q magically return the numeric value 1234.

You need to find...