String functions like- strlen(),strcpy()

 #include <stdio.h>



int my_strlen(char *str)

{

    int count = 0;

    while (str[count] != '\0')

    {

        count++;

    }

    return count;

}


void my_strcpy(char *dest, char *src)

{

    int i = 0;

    while (src[i] != '\0')

    {

        dest[i] = src[i];

        i++;

    }

    dest[i] = '\0';

}


void my_strcat(char *dest, char *src)

{

    int i = 0, j = 0;

    while (dest[i] != '\0')

    {

        i++;

    }

    while (src[j] != '\0')

    {

        dest[i] = src[j];

        i++;

        j++;

    }

    dest[i] = '\0';

}


int my_strcmp(char *str1, char *str2)

{

    int i = 0;

    while (str1[i] != '\0' && str2[i] != '\0')

    {

        if (str1[i] != str2[i])

        {

            return str1[i] - str2[i];

        }

        i++;

    }

    return str1[i] - str2[i];

}


void my_strrev(char *str)

{

    int length = my_strlen(str);

    int i;

    char temp;

    for (i = 0; i < length / 2; i++)

    {

        temp = str[i];

        str[i] = str[length - 1 - i];

        str[length - 1 - i] = temp;

    }

}


int main()

{

    char str1[100] = "Hello";

    char str2[100] = "World";

    char str3[100];


    // Testing my_strlen

    printf("Length: %d\n", my_strlen(str1));


    // Testing my_strcpy

    my_strcpy(str3, str1);

    printf("Copied: %s\n", str3);


    // Testing my_strcat

    my_strcat(str1, str2);

    printf("Concatenated: %s\n", str1);


    // Testing my_strcmp

    printf("Comparison: %d\n", my_strcmp("abc", "abd"));


    // Testing my_strrev

    my_strrev(str3);

    printf("Reversed: %s\n", str3);


    return 0;

}

 

Comments