これで我慢しとけ。Win32のlstrcpynと同じ仕様だ。
char *strcpyn(char *str1, const char *str2, size_t count)
{
  if(count) {
    char *dst = str1;
    while(--count && *str2) *dst++ = *str2++;
    *dst = '\0';
  }
  return str1;
}