diff options
| author | Charles <sircharlesaze@gmail.com> | 2019-07-17 19:30:52 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2019-07-17 19:30:52 +0200 |
| commit | 880102ae9358db130ef67cc9a7177a1e1de76875 (patch) | |
| tree | b5929722cf123e7c1701f4bc164a905f79510bf5 /c12/main.c | |
| parent | dcf89e9366538c70fc08ceaabd5b770f5d5b890d (diff) | |
| download | piscine-880102ae9358db130ef67cc9a7177a1e1de76875.tar.gz piscine-880102ae9358db130ef67cc9a7177a1e1de76875.tar.bz2 piscine-880102ae9358db130ef67cc9a7177a1e1de76875.zip | |
c10 tail stuff, c11 start, c12/c13 files
Diffstat (limited to 'c12/main.c')
| -rw-r--r-- | c12/main.c | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/c12/main.c b/c12/main.c new file mode 100644 index 0000000..f0ed68a --- /dev/null +++ b/c12/main.c @@ -0,0 +1,82 @@ +#include <stdio.h> +#include <string.h> +#include "ex00/ft_list.h" +#include "ex00/ft_create_elem.c" +#include "ex01/ft_list_push_front.c" +#include "ex02/ft_list_size.c" +#include "ex03/ft_list_last.c" +#include "ex04/ft_list_push_back.c" +#include "ex05/ft_list_push_strs.c" +#include "ex06/ft_list_clear.c" +#include "ex07/ft_list_at.c" +/*#include "ex08/ft_list_reverse.c"*/ +/*#include "ex09/ft_list_foreach.c"*/ +/*#include "ex10/ft_list_foreach_if.c"*/ +/*#include "ex11/ft_list_find.c"*/ +/*#include "ex12/ft_list_remove_if.c"*/ +/*#include "ex13/ft_list_merge.c"*/ +/*#include "ex14/ft_list_sort.c"*/ +/*#include "ex15/ft_list_reverse_fun.c"*/ +/*#include "ex16/ft_sorted_list_insert.c"*/ +/*#include "ft_sorted_list_merge.c"*/ + +void ft_free(void *data); + +int main() +{ + t_list *list = NULL; + int a = 4; + void *data = &a; + + list = ft_create_elem(data); + printf("%d\n", *(int*)list->data); + + char b = 'g'; + data = &b; + ft_list_push_front(&list, data); + printf("%c\n", *(char*)list->data); + printf("%d\n", *(char*)list->next->data); + printf("%s\n", (char*)list->next->next); + + printf("size %d\n", ft_list_size(list)); + ft_list_push_front(&list, data); + printf("size %d\n", ft_list_size(list)); + + printf("last %d\n", *(int*)ft_list_last(list)->data); + + double c = 3.14; + data = &c; + ft_list_push_back(&list, data); + printf("list last %f\n", *(double*)ft_list_last(list)->data); + t_list *empty = NULL; + ft_list_push_back(&empty, data); + printf("empty last %f\n", *(double*)ft_list_last(list)->data); + + char **strs = malloc(sizeof(char*) * 4); + strs[0] = malloc(sizeof(char) * 32); + strs[1] = malloc(sizeof(char) * 32); + strs[2] = malloc(sizeof(char) * 32); + strs[3] = malloc(sizeof(char) * 32); + strcpy(strs[0], "bonjour"); + strcpy(strs[1], "je"); + strcpy(strs[2], "suis"); + strcpy(strs[3], "charles"); + t_list *list_strs = ft_list_push_strs(4, strs); + for (; list_strs; list_strs = list_strs->next) + printf("%s | ", (char*)list_strs->data); + + /*ft_list_clear(list_strs, &ft_free);*/ + + printf("\n--------------\n"); + printf("%d\n", *(int*)(ft_list_at(list, 0)->data)); + printf("%f\n", *(double*)(ft_list_at(list, 1)->data)); + printf("%s\n", (char*)ft_list_at(list, 2)); + + + +} + +void ft_free(void *data) +{ + free((char*)data); +} |
