Просто бросьте его на символ *, поскольку вы знаете, что на самом деле - это символ *:
void *getfiles(void *ptr) {
/* ... */
const char *ptr_char = (const char*)ptr;
char buff[256];
memcpy(buff, ptr_char, 256); //just as an example, check the sizes.
//you could also strcpy, that's up to you
}
Или вы также можете просто работать с буфером, на который указывает ptr, не копируя его, так что он становится доступным после завершения потока:
void *getfiles(void *ptr) {
/* ... */
char *buff = (char*)ptr;
/* do stuff with buff. */
}