Sinon y a snprintf() qui est très bien aussi (mais C99, ce qui ne devrait quand même plus trop poser de problème aujourd'hui) : pas besoin de se soucier de la taille du buffer vs. la taille de la chaîne initiale (strncpy), et pas besoin d'initialiser le buffer avant recopie (strncat). Bon, je parle là des tâches communes hein.
Mais sinon, je plussoie "Un Programmeur" : strncat est bien moins casse-gueule. À préférer à strncpy, qui est une fonction si fourbe que je me demande qui a bien pu spécifier ce... cette... chose.