'strncpy' contre 'sprintf'

Je vois de nombreux sprintfs'utilise dans mes applications pour copier une chaîne de caractères.

J'ai un tableau de caractères:

char myarray[10];
const char *str = "mystring";

Maintenant, si je veux copier la chaîne de str en myarrayest le mieux à utiliser:

sprintf(myarray, "%s", str);

ou

strncpy(myarray, str, 8);

?

source d'informationauteur Vijay