Namespaces
Variants

std:: wcsncpy

From cppreference.net
Definido en el encabezado <cwchar>
wchar_t * wcsncpy ( wchar_t * dest, const wchar_t * src, std:: size_t count ) ;

Copia como máximo count caracteres de la cadena ancha apuntada por src (incluyendo el carácter nulo terminador) al arreglo de caracteres anchos apuntado por dest .

Si count se alcanza antes de que toda la cadena src fuera copiada, el array de caracteres anchos resultante no está terminado en nulo.

Si, después de copiar el carácter ancho nulo de terminación desde src , count no se alcanza, se escriben caracteres anchos nulos adicionales en dest hasta que se hayan escrito el total de count caracteres.

Si las cadenas se superponen, el comportamiento es indefinido.

Contenidos

Parámetros

dest - puntero al array de caracteres anchos donde copiar
src - puntero a la cadena ancha desde donde copiar
count - número máximo de caracteres anchos a copiar

Valor de retorno

dest

Notas

En un uso típico, count es el tamaño del array de destino.

Ejemplo

#include <cwchar>
#include <iostream>
int main()
{
    const wchar_t src[] = L"hi";
    wchar_t dest[6] = {L'a', L'b', L'c', L'd', L'e', L'f'};
    std::wcsncpy(dest, src, 5); // esto copiará 'hi' y repetirá \0 tres veces
    std::wcout << "The contents of dest are: ";
    for (const wchar_t c : dest)
    {
        if (c)
            std::wcout << c << ' ';
        else
            std::wcout << "\\0" << ' ';
    }
    std::wcout << '\n';
}

Salida:

The contents of dest are: h i \0 \0 \0 f

Véase también

copia una cadena ancha a otra
(función)
copia cierta cantidad de caracteres anchos entre dos arreglos no superpuestos
(función)
copia cierta cantidad de caracteres de una cadena a otra
(función)
Documentación C para wcsncpy