La función strncpy
en el lenguaje C es una mejora (o alternativa) de la función strcpy
que quiere decir string copy. La n indica el conteo que se copia, que en términos simples podrían ser caracteres.
Entonces la diferencia es que strncpy
copia solo determinada cantidad de caracteres, contraria a strcpy
que copia todo; con el riesgo de que ocurra un desbordamiento de búfer.
En este post te mostraré la sintaxis de strncpy
y su modo de uso con ejemplos.
Sintaxis de strncpy
Para usar esta función debes incluir el encabezado string.h:
#include<string.h>
Su modo de uso es:
strncpy(destino, fuente, cantidad_a_copiar);
Lo que hará que a destino
se le asigne lo que hay en fuente
, determinando la cantidad de caracteres que se copian con el tercer argumento. En los ejemplos se verá con más claridad.
Recuerda que tanto destino como fuente deben ser cadenas, o mejor dicho, un arreglo de caracteres.
Ejemplo de strncpy
Veamos un ejemplo. En este caso vamos a copiar solo un carácter de una cadena a otra:
La salida del programa será:
Nombre: Luis. Temporal: L
Como puedes ver, solo se copió una letra.
Otro ejemplo de strncpy
El uso que más se le da a esta función es para asignar cadenas e intercambiarlas, pues en C no podemos hacer algo como:
cadena = otraCadena;
Así que debemos usar strncpy
. Aquí vemos el ejemplo:
En este caso la salida será:
Nombre: Luis. Otro nombre: Maria
Nombre: Maria. Otro nombre: Luis
Para terminar te dejo con más tutoriales sobre C.