Non capisco il fine di tutto il discorso.

Perché usi la strncpy? E perché, in ogni caso, non aggiungi anche il terminatore?