/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* main.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: gbaconni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2021/08/24 14:00:37 by gbaconni #+# #+# */ /* Updated: 2021/08/24 14:04:21 by gbaconni ### ########.fr */ /* */ /* ************************************************************************** */ #include #include #include "ft_stock_str.h" void ft_show_tab(struct s_stock_str *par); int ft_strlen(char *str) { int i; i = 0; while (str[i] != '\0') i++; return (i); } char *ft_strdup(char *src) { char *str; char *_str; int size; size = ft_strlen(src); str = (char *) malloc((size + 1) * sizeof(char)); if (str == NULL) return (NULL); _str = str; while (*src != '\0') *str++ = *src++; *str = '\0'; str = _str; return (str); } struct s_stock_str *ft_strs_to_tab(int ac, char **av) { t_stock_str *result; int i; result = malloc((ac + 1) * sizeof(t_stock_str)); if (result == NULL) return (NULL); i = 0; while (i < ac) { result[i].size = ft_strlen(av[i]); result[i].str = ft_strdup(av[i]); result[i].copy = ft_strdup(av[i]); i++; } result[i].size = 0; result[i].str = 0; result[i].copy = 0; return (result); } int main(int argc, char **argv) { t_stock_str *par; int i; i = 0; while (i < argc - 1) { argv[i] = argv[i + 1]; i++; } argv[i] = NULL; argc--; par = ft_strs_to_tab(argc, argv); ft_show_tab(par); return (0); }