diff --git a/C_Piscine_C_05/c-05.tar b/C_Piscine_C_05/c-05.tar new file mode 100644 index 0000000..b725c5a Binary files /dev/null and b/C_Piscine_C_05/c-05.tar differ diff --git a/C_Piscine_C_07/git/ex00/ft_strdup.c b/C_Piscine_C_07/git/ex00/ft_strdup.c index 0d712cd..f3797a7 100644 --- a/C_Piscine_C_07/git/ex00/ft_strdup.c +++ b/C_Piscine_C_07/git/ex00/ft_strdup.c @@ -6,16 +6,32 @@ /* By: gbaconni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2021/08/13 09:03:26 by gbaconni #+# #+# */ -/* Updated: 2021/08/13 09:09:57 by gbaconni ### ########.fr */ +/* Updated: 2021/08/18 18:06:07 by gbaconni ### ########.fr */ /* */ /* ************************************************************************** */ +#include +#include + char *ft_strdup(char *src) { - char *p_str; + char *str; + char *_str; + char *_src; + int size; - p_str = str; - while (*p_str != '\0') - p_str++; - return (p_str - str); + size = 0; + while (src[size++] != '\0') + continue ; + str = (char *) malloc(size * sizeof(char)); + if (str == NULL) + return (NULL); + _str = str; + _src = src; + while (*src != '\0') + *str++ = *src++; + *str = '\0'; + str = _str; + src = _src; + return (str); } diff --git a/C_Piscine_C_07/git/ex00/main.c b/C_Piscine_C_07/git/ex00/main.c index 1d09cbd..9edc3e9 100644 --- a/C_Piscine_C_07/git/ex00/main.c +++ b/C_Piscine_C_07/git/ex00/main.c @@ -6,7 +6,7 @@ /* By: gbaconni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2021/08/13 09:02:59 by gbaconni #+# #+# */ -/* Updated: 2021/08/13 09:03:17 by gbaconni ### ########.fr */ +/* Updated: 2021/08/18 18:07:36 by gbaconni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,14 +19,16 @@ char *ft_strdup(char *src); int main(void) { - char src[32]; + char *src; char *result; + src = (char *) malloc(32 * sizeof(char)); printf("Input String [max 31]: "); scanf("%s", src); result = ft_strdup(src); - printf("src=%s result=%d (ft_strdup)\n", src, result); + printf("src=%s result=%s (ft_strdup)\n", src, result); result = strdup(src); - printf("src=%s result=%d (strdup)\n", src, result); + printf("src=%s result=%s (strdup)\n", src, result); + free(src); return (0); } diff --git a/C_Piscine_C_07/git/ex01/ft_range.c b/C_Piscine_C_07/git/ex01/ft_range.c new file mode 100644 index 0000000..ce45f48 --- /dev/null +++ b/C_Piscine_C_07/git/ex01/ft_range.c @@ -0,0 +1,34 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_range.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/18 18:13:35 by gbaconni #+# #+# */ +/* Updated: 2021/08/18 18:32:22 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include + +int *ft_range(int min, int max) +{ + int *range; + int size; + int i; + + if (min < max) + size = max - min; + else + return (NULL); + range = (int *) malloc(size * sizeof(char)); + i = 0; + while (i < size) + { + range[i] = min + i; + i++; + } + return (range); +} diff --git a/C_Piscine_C_07/git/ex01/main.c b/C_Piscine_C_07/git/ex01/main.c new file mode 100644 index 0000000..b3f5e8d --- /dev/null +++ b/C_Piscine_C_07/git/ex01/main.c @@ -0,0 +1,46 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* main.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/18 18:11:09 by gbaconni #+# #+# */ +/* Updated: 2021/08/18 18:31:33 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include + +int *ft_range(int min, int max); + +int main(void) +{ + int i; + int min; + int max; + int size; + int *result; + + min = 0; + max = 0; + printf("Input Min: "); + scanf("%d", &min); + printf("Input Max: "); + scanf("%d", &max); + result = ft_range(min, max); + size = 0; + while (result[size++]) + continue ; + printf("min=%d max=%d (ft_range)\nresult:\n", min, max); + i = 0; + while (i < size) + { + printf("result[%d] = %d\n", i, result[i]); + i++; + } + return (0); +} diff --git a/C_Piscine_C_07/git/ex01/main.sh b/C_Piscine_C_07/git/ex01/main.sh new file mode 100755 index 0000000..292faee --- /dev/null +++ b/C_Piscine_C_07/git/ex01/main.sh @@ -0,0 +1,8 @@ +#!/bin/sh +set -e +#norminette -R CheckForbiddenSourceHeader ft_*.c +norminette -R CheckForbiddenSourceHeader +gcc -Wall -Wextra -Werror -o a.out *.c +echo $(basename $PWD): +./a.out +rm -f a.out