ft_strlcpy.c

Esta función permite copiar una cantidad decaracteres de una cadena a otra..

Enunciado

strlcpy(3)

NOMBRE
    strlcpy --> copia una cantidad de caracteres de una cadena
CABECERA
    void *strlcpy(char *dst, const char *src, size_t sz);
DESCRIPCIÓN
    Copia `sz - 1` caracteres de la cadena de orígen `src` hacia la de destino `dst`.
DEVOLUCIÓN
    Devuelve el valor original de `dst`.

Esta función, es bastante simple, pero hay que tener en cuenta que la cadena siempre terminará en 'NULL`.

Si se proporciona una longitud suficiente para teminar la cadena sin acortarla, lo horá. En caso contrario, se copiará sz - 1 y se añadirá posteriormente el carácter núlo al final de la cadena.

Planteamiento

ft_strlcpy.c
#include "libft.h"

size_t ft_strlcpy(char *dst, const char *src, size_t sz) {
    /* definimos un contador y lo inicializamos a su valor predeterminado */
    /* definimos una variable auxiliar, que nos ayudará a guardar la longitud original del puntero `src` */
    if (/* el tamaño a copiar es mayor a `0` */) {
        while(/* el carácter en la posición actual, es diferente a `null` (fin de cadena)
        * y el nuestro contador es menor a (sz - 1) */) {
            /* establecemos el valor de la posición actual de `dst` al carácter actual de `src` */
            /* preparamos la siguiente iteración */
        }
        /* añadimos el carácter núlo al final de la cadena */
    }
    /* bajo cualquier caso, devolveremos la longitud original de `src` */
    return (src_len);
}

Solución

Recuerda: para entregar tu proyecto, debes poder defenderlo. Por ello, resuelve cada enunciado con la respuesta que te parezca mas entendible a nivel presonal.

J: "No hay respuestas incorrectas, solo puntos de vista distantes".

Solución Base

Última actualización

¿Te fue útil?