From a2ef228b981df5ad417a0e8377e1e832002a7644 Mon Sep 17 00:00:00 2001 From: Charles Date: Sun, 7 Jul 2019 15:29:30 +0200 Subject: c04/c05 testing + c06 --- c03/ex00/ft_strcmp.c | 4 ++-- c03/ex01/ft_strncmp.c | 10 +++++++--- c03/ex02/ft_strcat.c | 16 ++++++---------- c03/ex03/ft_strncat.c | 19 ++++++++----------- c03/ex04/ft_strstr.c | 10 +++++----- c03/ex05/ft_strlcat.c | 31 +++++++++++++++---------------- c03/main.c | 41 ++++++++++++++++++++++------------------- 7 files changed, 65 insertions(+), 66 deletions(-) (limited to 'c03') diff --git a/c03/ex00/ft_strcmp.c b/c03/ex00/ft_strcmp.c index 9131204..ab09c68 100644 --- a/c03/ex00/ft_strcmp.c +++ b/c03/ex00/ft_strcmp.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/05 10:39:51 by cacharle #+# #+# */ -/* Updated: 2019/07/05 16:07:46 by cacharle ### ########.fr */ +/* Updated: 2019/07/06 13:10:58 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,5 +17,5 @@ int ft_strcmp(char *s1, char *s2) s1++; s2++; } - return *s1 - *s2; + return (*s1 - *s2); } diff --git a/c03/ex01/ft_strncmp.c b/c03/ex01/ft_strncmp.c index 1dc2639..9009164 100644 --- a/c03/ex01/ft_strncmp.c +++ b/c03/ex01/ft_strncmp.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/05 10:50:46 by cacharle #+# #+# */ -/* Updated: 2019/07/05 16:06:57 by cacharle ### ########.fr */ +/* Updated: 2019/07/07 13:58:50 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,8 +14,12 @@ int ft_strncmp(char *s1, char *s2, unsigned int n) { unsigned int i; + if (n == 0) + return (0); i = 0; - while (s1[i] == s2[i] && s1[i] && s2[i] && i < n - 1) + while (s1[i] == s2[i] && s1[i] && s2[i] && i < n) i++; - return s1[i] - s2[i]; + if (i == n) + i--; + return (s1[i] - s2[i]); } diff --git a/c03/ex02/ft_strcat.c b/c03/ex02/ft_strcat.c index 1ec10c0..e3b5e7a 100644 --- a/c03/ex02/ft_strcat.c +++ b/c03/ex02/ft_strcat.c @@ -6,23 +6,19 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/05 11:52:56 by cacharle #+# #+# */ -/* Updated: 2019/07/05 12:58:36 by cacharle ### ########.fr */ +/* Updated: 2019/07/07 10:31:36 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -char *ft_strcat(char *dest, char *src) +char *ft_strcat(char *dest, char *src) { - char *dest_head; + char *dest_head; dest_head = dest; while (*dest) dest++; while (*src) - { - *dest = *src; - dest++; - src++; - } - *dest = *src; - return dest_head; + *(dest++) = *(src++); + *dest = '\0'; + return (dest_head); } diff --git a/c03/ex03/ft_strncat.c b/c03/ex03/ft_strncat.c index c28fb38..4e5a999 100644 --- a/c03/ex03/ft_strncat.c +++ b/c03/ex03/ft_strncat.c @@ -6,24 +6,21 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/05 13:02:04 by cacharle #+# #+# */ -/* Updated: 2019/07/05 15:33:07 by cacharle ### ########.fr */ +/* Updated: 2019/07/07 10:41:01 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -char *ft_strncat(char *dest, char *src, unsigned int nb) +char *ft_strncat(char *dest, char *src, unsigned int nb) { unsigned int i; - char *dest_end; + unsigned int j; i = 0; - while (dest[i] != '\0') + while (dest[i]) i++; - dest_end = dest + i; - i = 0; - while (i < nb && src[i] != '\0') - { - dest_end[i] = src[i]; - i++; - } + j = 0; + while (j < nb && src[j]) + dest[i++] = src[j++]; + dest[i] = '\0'; return (dest); } diff --git a/c03/ex04/ft_strstr.c b/c03/ex04/ft_strstr.c index e27ffc8..c8d015e 100644 --- a/c03/ex04/ft_strstr.c +++ b/c03/ex04/ft_strstr.c @@ -6,13 +6,13 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/05 15:20:54 by cacharle #+# #+# */ -/* Updated: 2019/07/05 16:46:57 by cacharle ### ########.fr */ +/* Updated: 2019/07/06 13:12:55 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ #define MY_NULL 0x0 -int ft_strlen(char *str) +int ft_strlen(char *str) { int counter; @@ -25,19 +25,19 @@ int ft_strlen(char *str) return (counter); } -char *ft_strstr(char *str, char *to_find) +char *ft_strstr(char *str, char *to_find) { int i; if (!ft_strlen(to_find)) - return str; + return (str); while (*str) { i = 0; while (to_find[i] && str[i]) { if (to_find[i] != str[i]) - break; + break ; i++; } if (i == ft_strlen(to_find)) diff --git a/c03/ex05/ft_strlcat.c b/c03/ex05/ft_strlcat.c index 5cacc4d..1e7f9dc 100644 --- a/c03/ex05/ft_strlcat.c +++ b/c03/ex05/ft_strlcat.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/05 15:43:34 by cacharle #+# #+# */ -/* Updated: 2019/07/06 07:12:28 by cacharle ### ########.fr */ +/* Updated: 2019/07/07 11:08:08 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -15,30 +15,29 @@ unsigned int my_strlen(char *str) int counter; counter = 0; - while (*str != '\0') - { + while (str[counter]) counter++; - str++; - } return (counter); } unsigned int ft_strlcat(char *dest, char *src, unsigned int size) { unsigned int i; - unsigned int len_src; - unsigned int len_dest; + unsigned int dest_len; + unsigned int src_len; - len_src = my_strlen(src); - len_dest = my_strlen(dest); - if (!len_src) - return (len_dest); - i = len_dest - 1; - while (i < size - len_dest - 1 && src[i]) + dest_len = my_strlen(dest); + src_len = my_strlen(src); + if (size == 0) + return (src_len); + i = dest_len; + while (i < size - 1 && src[i - dest_len]) { - dest[i] = src[i]; + dest[i] = src[i - dest_len]; i++; } - dest[i] = '\0'; - return (len_src + len_dest); + if (dest[size - 1] != '\0') + return (src_len + size); + dest[size - 1] = '\0'; + return (dest_len + src_len); } diff --git a/c03/main.c b/c03/main.c index 9c1add8..11ae881 100644 --- a/c03/main.c +++ b/c03/main.c @@ -9,16 +9,17 @@ int main() { - char s1[] = "bonjour"; - char s2[] = "bonjouj"; - printf("%d : %d\n", ft_strcmp(s1, s2), strcmp(s1, s2)); + char s3[] = ""; + char s4[] = "qwer"; + printf("%d : %d\n", ft_strcmp(s3, s4), strcmp(s3, s4)); - unsigned int size = 10; - printf("%d : %d\n", ft_strncmp(s1, s2, size), strncmp(s1, s2, size)); + unsigned int size = 4; + printf("%d : %d\n", ft_strncmp(s3, s4, size), strncmp(s3, s4, size)); + printf("-----------------\n"); char *head; char dest[10] = "abc"; - char src[] = "defg"; + char src[] = "a"; head = ft_strcat(dest, src); printf("\n%s ", head); for (int i = 0; i < 15; i++) @@ -29,45 +30,47 @@ int main() for (int i = 0; i < 15; i++) printf("%d ", head[i]); - unsigned int nsize = 1; + printf("\n-----------------\n"); + unsigned int nsize = 2; char *nhead; - char ndest[10] = "abc"; + char ndest[12] = "abc"; char nsrc[] = "defg"; nhead = ft_strncat(ndest, nsrc, nsize); printf("\n%s ", nhead); for (int i = 0; i < 15; i++) printf("%d ", nhead[i]); - char _ndest[10] = "abc"; + char _ndest[12] = "abc"; nhead = strncat(_ndest, nsrc, nsize); printf("\n%s ", nhead); for (int i = 0; i < 15; i++) printf("%d ", nhead[i]); - printf("\n"); + printf("\n-----------------\n"); char *haystack = "abcdefg"; - char *needle = "abcdefg"; + char *needle = ""; char *found; found = ft_strstr(haystack, needle); + printf("\n%s ", found); if (found) for (int i = 0; i < 5; i++) printf("%d ", found[i]); - printf("\n%s\n", found); found = strstr(haystack, needle); + printf("\n%s ", found); if (found) for (int i = 0; i < 5; i++) printf("%d ", found[i]); - printf("\n%s\n", found); - unsigned int lsize = 100; - char ldest[100] = "abcdef"; - char lsrc[] = "d"; + printf("\n-----------------\n"); + unsigned int lsize = 15; + char ldest[15] = "0123456789"; + char lsrc[] = "doit"; printf("\nsize %u, ", ft_strlcat(ldest, lsrc, lsize)); printf("%s ", ldest); for (int i = 0; i < 15; i++) printf("%d ", ldest[i]); - char _ldest[100] = "abcdef"; + char _ldest[15] = "0123456789"; printf("\nsize %lu, ", strlcat(_ldest, lsrc, lsize)); - printf("%s ", ldest); + printf("%s ", _ldest); for (int i = 0; i < 15; i++) - printf("%d ", ldest[i]); + printf("%d ", _ldest[i]); } -- cgit