Скопировать из char16_t* в char16_t*

Я пытаюсь скопировать char16_t* это передается в функцию, но не нашел способа сделать это.

foo(char16_t* characters) {
    char16_t* copiedCharacters;
    //copy characters to copiedCharacters
}

Я пытался использовать strncopy() но это только копии char*,

2 ответа

Существует известная конструкция (заимствованная из strcpy):

char16_t* str16cpy(char16_t* destination, const char16_t* source)
{
    char16_t* temp = destination;
    while((*temp++ = *source++) != 0)
    ;
    return destination;
}

Просто настройте реализацию strcpy

char16_t *mystrcpy(char16_t *dest, const char16_t *src)
{
  unsigned i;
  for (i=0; src[i] != '\0'; ++i)
    dest[i] = src[i];
  dest[i] = '\0';
  return dest;
}
Другие вопросы по тегам