Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "ft_stock_str.h"
- #include <stdlib.h>
- int ft_strlen(char *str)
- {
- int i;
- i = 0;
- while (str[i])
- i++;
- return (i);
- }
- char *ft_strdup(char *str)
- {
- int i;
- char *p;
- i = 0;
- p = malloc(sizeof(char) * ft_strlen(str) + 1);
- if (p == NULL)
- return (p);
- while (str[i])
- {
- p[i] = str[i];
- i++;
- }
- p[i] = '\0';
- return (p);
- }
- struct s_stock_str *ft_strs_to_tab(int ac, char **av)
- {
- int i;
- t_stock_str *tab;
- i = 1;
- tab = malloc(sizeof(t_stock_str) * ac + 1);
- if (tab == NULL)
- return (tab);
- while (i < ac)
- {
- tab[i].size = ft_strlen(av[i]);
- tab[i].str = av[i];
- tab[i].copy = ft_strdup(av[i]);
- i++;
- }
- tab[i].str = 0;
- return (tab);
- }
- ----------------------------------------------------------------------------------------------------
- #ifndef FT_STOCK_STR_H
- # define FT_STOCK_STR_H
- typedef struct s_stock_str
- {
- int size;
- char *str;
- char *copy;
- } t_stock_str;
- #endif
- --------------------------------------------------------------------------------------------------------
- #include <unistd.h>
- #include "ft_stock_str.h"
- void ft_putchar(char c)
- {
- write(1, &c, 1);
- }
- char *ft_putstr(char *str)
- {
- int i;
- i = 0;
- while(str[i])
- {
- ft_putchar(str[i]);
- i++;
- }
- return (str);
- }
- void ft_putnbr(int nb)
- {
- char ent;
- if (nb == -2147483648)
- {
- write(1, "-2147483648", 11);
- return ;
- }
- if (nb < 0)
- {
- nb = -nb;
- ft_putchar('-');
- }
- if (nb >= 0 && nb <= 9)
- {
- ent = nb + '0';
- ft_putchar(ent);
- }
- else
- {
- ft_putnbr(nb / 10);
- ft_putchar(nb % 10 + '0');
- }
- }
- void ft_show_tab(struct s_stock_str *par)
- {
- int i;
- i = 0;
- while (par[i].str != 0)
- {
- ft_putstr((par[i]).str);
- ft_putchar('\n');
- ft_putnbr((par[i]).size);
- ft_putchar('\n');
- ft_putstr((par[i]).copy);
- ft_putchar('\n');
- i++;
- }
- }
- int main(int argc, char **argv)
- {
- ft_show_tab(ft_strs_to_tab(argc, argv));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement