ex00
/*#include<stdio.h>*/
int ft_strcmp(char *s1, char *s2)
{
int i;
i = 0;
while ((s1[i] == s2[i]) && (s1[i] != 0) && (s2[i] != 0))
i++;
return (s1[i] - s2[i]);
}
/*
int main(void)
{
int result;
result = ft_strcmp("hello world!!", "hello");
printf("result = negative value, result :%d\n", result);
return (0);
}
*/
ex01
#include<stdio.h>
#include<string.h>
int ft_strncmp(char *s1, char *s2, unsigned int n)
{
unsigned int i;
i = 0;
if (n == 0)
return (0);
while (s1[i] == s2[i] && s1[i] != '\0' && i + 1 < n)
{
i++;
}
if (s1[i] == s2[i])
return (0);
else
return (s1[i] - s2[i]);
}
/*
int main(void)
{
char str1[] = "abcedf";
char str2[] = "abcdaa";
char str3[] = "abcdzz";
printf("%d ", strncmp(str1, str2, 3));
printf("%d ", ft_strncmp(str1, str2, 3));
printf("%d ", strncmp(str1, str3, 10));
printf("%d ", ft_strncmp(str1, str3, 10));
printf("%d ", strncmp(str1, str2, 5));
printf("%d ", ft_strncmp(str1, str2, 5));
printf("%d ", strncmp(str2, str3, 7));
printf("%d ", ft_strncmp(str2, str3, 7));
return 0;
}
*/
ex02
/*#include<stdio.h>*/
char *ft_strcat(char *dest, char *src)
{
int i;
int j;
i = 0;
j = 0;
while (dest[i] != '\0')
{
i++;
}
while (src[j] != '\0')
{
dest[i] = src[j];
i++;
j++;
}
dest[i] = '\0';
return (dest);
}
/*
int main(void)
{
char dest[10] = "a1b2c3d";
ft_strcat(dest, "cdefghijklmnop");
printf("result = %s\n", dest);
return (0);
}
*/
ex03
#include<stdio.h>
#include<string.h>
char *ft_strncat(char *dest, char *src, unsigned int nb)
{
unsigned int i;
unsigned int j;
i = 0;
j = 0;
while (dest[i] != '\0')
{
i++;
}
while (src[j] != '\0' && nb > j)
{
dest[i] = src[j];
i++;
j++;
}
dest[i] = '\0';
return (dest);
}
int main(void)
{
char str1[20] = "Hello";
char str2[20] = "World!!";
ft_strncat(str1, str2, 5);
printf("%s\n", str1);
return (0);
}
ex04
#include<stdio.h>
char *ft_strstr(char *str, char *to_find)
{
int i;
int j;
i = 0;
if (to_find[0] == '\0')
return (str);
while (str[i] != '\0')
{
j = 0;
while (str[i + j] == to_find[j])
{
if (to_find[j + 1] == '\0')
{
return (str + i);
}
j++;
}
i++;
}
return (0);
}
int main(void)
{
char *string1 = "aaahelloaaa";
char *string2 = "hillo";
char *result;
result = ft_strstr(string1, string2);
//Result = a pointer to "haystack"
printf("%s\n", result);
}
ex05
/*#include<stdio.h>
#include<string.h>*/
int ft_strlen(char *str)
{
int i;
i = 0;
while (str[i] != '\0')
{
i++;
}
return (i);
}
unsigned int ft_strlcat(char *dest, char *src, unsigned int size)
{
unsigned int i;
unsigned int j;
unsigned int dest_len;
unsigned int src_len;
dest_len = ft_strlen(dest);
src_len = ft_strlen(src);
i = dest_len;
j = 0;
while ((src[j] != '\0') && ((j + dest_len + 1) < size))
{
dest[i] = src[j];
i++;
j++;
}
dest[i] = '\0';
if (dest_len < size)
return (dest_len + src_len);
else
return (src_len + size);
}
/*
int main(void)
{
char s1[50] = "hello";
char s2[7] = "world";
char s3[50] = "hello";
unsigned int j = ft_strlcat(s1, s2, 8);
printf("%u\n", j); //10
printf("%s\n", s1); //hellowo
j = ft_strlcat(s3, s2, 8);
printf("%u\n", j); //10
printf("%s\n", s3); //hellowo
}
*/