Crear mis propias funciones que hagan de: strcpy, strlen, strcmp, strcat

Iniciado por galapok11, 12 Agosto 2016, 11:49 AM

0 Miembros y 1 Visitante están viendo este tema.

galapok11

Saludos, estoy buscando la manera de crear mis propias funciones que correspondan a las sigueintes: strcpy, strlen, strcmp, strcat
He conseguido realizar strcpy, y strcmp.
Pero deberia hacerlo sin las funciones for, while y do: si asi es...
Gracias por leerme, y mas un si me ayudas :)

AlbertoBSD

Busca como trabajan las funciones recursivas sin embargo es Muy ineficiente si las haces de esa forma.

En lo personal no lo recomiendo.

Saludos
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

Yoel Alejandro

Bueno sería sencillo usando ciclos con contador, ahora coincido con Alberto en que no le veo la utilidad, excepto si fuera un trabajo con fines pedagógicos o tarea escolar.
Aquí un ejemplo que implementa versiones alternativas de strcpy(), strlen(). En las versiones alternativas se utiliza el prefijo "_" en el nombre de la función, para diferenciar de la versión estándar.
Código (cpp) [Seleccionar]

#include <stdio.h>
#include <stdlib.h>

char *_strcpy( char *s1, const char *s2 );
size_t _strlen(const char *s);

int main()
{
    char s1[100];

    _strcpy( s1, "Hola Mundo" );
    printf( "%s\n", s1 );
    printf( "Longitud es: %d\n", _strlen(s1) );
    return 0;
}

char *_strcpy( char *s1, const char *s2 )
{

    long i=0;

    while ( s2[i] != '\0' ) s1[i++] = s2[i];
    s1[i] = '\0';

    return s1;
}

size_t _strlen(const char *s)
{

    size_t N;
    char *p;

    p = (char *)s;
    N = 0;
    while ( *p != '\0' ) {
        p++;
        N++;
    }

    return N;
}


Salida:
Código (php) [Seleccionar]

Hola Mundo
Longitud es: 10


Claro está, si son versiones creadas por uno mismo las opciones son infinitas, quizá haya mejores maneras que la que yo propuse y sólo puse un ejemplo.
Saludos, Yoel.
P.D..-   Para mayores dudas, puedes enviarme un mensaje personal (M.P.)