Namespaces
Variants

std:: strncpy

From cppreference.net
Definido en el encabezado <cstring>
char * strncpy ( char * dest, const char * src, std:: size_t count ) ;

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

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

Si, después de copiar el carácter nulo de terminación desde src , count no se alcanza, se escriben caracteres 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 donde copiar
src - puntero a la cadena de bytes desde donde copiar
count - número máximo de caracteres a copiar

Valor de retorno

dest

Ejemplo

#include <cstring>
#include <iostream>
int main()
{
    const char* src = "hi";
    char dest[6] = {'a', 'b', 'c', 'd', 'e', 'f'};
    std::strncpy(dest, src, 5);
    std::cout << "The contents of dest are: ";
    for (char c : dest)
    {
        if (c)
            std::cout << c << ' ';
        else
            std::cout << "\\0" << ' ';
    }
    std::cout << '\n';
}

Salida:

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

Véase también

copia una cadena a otra
(función)
copia un búfer a otro
(función)
Documentación C para strncpy