diff options
| author | Cabergs Charles <cacharle@e-r6-p7.s19.be> | 2019-07-04 21:56:50 +0200 |
|---|---|---|
| committer | Cabergs Charles <cacharle@e-r6-p7.s19.be> | 2019-07-04 21:56:50 +0200 |
| commit | dbfa9d5d6b8bebde60f714253409ad46e328d358 (patch) | |
| tree | 7f470d33293979e8c125302f0cf808a0b7df44f3 | |
| parent | 9675f63eac7a10d1814324067209935de71495cf (diff) | |
| download | piscine-dbfa9d5d6b8bebde60f714253409ad46e328d358.tar.gz piscine-dbfa9d5d6b8bebde60f714253409ad46e328d358.tar.bz2 piscine-dbfa9d5d6b8bebde60f714253409ad46e328d358.zip | |
c02 ex11 mindfuck solved, c02 test
| -rw-r--r-- | c00/ex07/ft_putnbr.c | 4 | ||||
| -rw-r--r-- | c01/main.c | 13 | ||||
| -rw-r--r-- | c02/ex00/ft_strcpy.c | 12 | ||||
| -rw-r--r-- | c02/ex01/ft_strncpy.c | 6 | ||||
| -rw-r--r-- | c02/ex02/ft_str_is_alpha.c | 9 | ||||
| -rw-r--r-- | c02/ex03/ft_str_is_numeric.c | 5 | ||||
| -rw-r--r-- | c02/ex04/ft_str_is_lowercase.c | 5 | ||||
| -rw-r--r-- | c02/ex05/ft_str_is_uppercase.c | 5 | ||||
| -rw-r--r-- | c02/ex06/ft_str_is_printable.c | 7 | ||||
| -rw-r--r-- | c02/ex07/ft_strupcase.c | 16 | ||||
| -rw-r--r-- | c02/ex08/ft_strlowercase.c (renamed from c02/ex07/ft_strlowercase.c) | 12 | ||||
| -rw-r--r-- | c02/ex09/ft_strcapitalize.c | 46 | ||||
| -rw-r--r-- | c02/ex10/ft_strlcpy.c | 13 | ||||
| -rw-r--r-- | c02/ex11/ft_putstr_non_printable.c | 42 | ||||
| -rw-r--r-- | c02/main.c | 104 |
15 files changed, 236 insertions, 63 deletions
diff --git a/c00/ex07/ft_putnbr.c b/c00/ex07/ft_putnbr.c index 14bc13a..e147217 100644 --- a/c00/ex07/ft_putnbr.c +++ b/c00/ex07/ft_putnbr.c @@ -6,7 +6,7 @@ /* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/03 10:51:16 by cacharle #+# #+# */ -/* Updated: 2019/07/03 14:29:34 by cacharle ### ########.fr */ +/* Updated: 2019/07/04 14:27:32 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -47,7 +47,7 @@ void ft_putnbr(int nb) nb = -nb; } i = 0; - while (nb > 0) + while (nb >= 0) { rev_digits[i] = nb % 10; nb = nb / 10; @@ -1,5 +1,5 @@ #include <stdio.h> -/*#include <limits.h>*/ +#include <limits.h> #include "ex00/ft_ft.c" #include "ex01/ft_ultimate_ft.c" #include "ex02/ft_swap.c" @@ -57,16 +57,19 @@ int main() printf("(23) '%s' length = %d\n", s, ft_strlen(s)); - int t[4] = {1, 2, 3, 4}; + int t[4] = {1, INT_MAX, INT_MIN, 4}; ft_rev_int_tab(t, 4); for (int i = 0; i < 4; i++) printf("%d ", t[i]); printf("\n"); - int t2[5] = {3, 6, 1, 2, -1}; - ft_sort_int_tab(t2, 5); - for (int i = 0; i < 5; i++) + srand(1); + int t2[50]; + for (int i = 0; i < 50; i++) + t2[i] = rand(); + ft_sort_int_tab(t2, 50); + for (int i = 0; i < 50; i++) printf("%d ", t2[i]); return 0; diff --git a/c02/ex00/ft_strcpy.c b/c02/ex00/ft_strcpy.c index 9972a32..9a1e1f1 100644 --- a/c02/ex00/ft_strcpy.c +++ b/c02/ex00/ft_strcpy.c @@ -6,18 +6,20 @@ /* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/03 18:54:30 by cacharle #+# #+# */ -/* Updated: 2019/07/03 19:08:36 by cacharle ### ########.fr */ +/* Updated: 2019/07/04 21:16:26 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ char *ft_strcpy(char *dest, char *src) { + int i; + + i = 0; while (*src != '\0') { - *dest = *src; - src++; - dest++; + dest[i] = src[i]; + i++; } - *dest = *src; + dest[i] = '\0'; return (dest); } diff --git a/c02/ex01/ft_strncpy.c b/c02/ex01/ft_strncpy.c index 61bb451..0526dbb 100644 --- a/c02/ex01/ft_strncpy.c +++ b/c02/ex01/ft_strncpy.c @@ -6,16 +6,16 @@ /* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/03 19:02:31 by cacharle #+# #+# */ -/* Updated: 2019/07/03 19:36:32 by cacharle ### ########.fr */ +/* Updated: 2019/07/04 21:15:46 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ char *ft_strncpy(char *dest, char *src, unsigned int n) { - int i; + unsigned int i; i = 0; - while (i < n || src[i] != '\0') + while (i < n && src[i] != '\0') { dest[i] = src[i]; i++; diff --git a/c02/ex02/ft_str_is_alpha.c b/c02/ex02/ft_str_is_alpha.c index 46df96a..bddf6a4 100644 --- a/c02/ex02/ft_str_is_alpha.c +++ b/c02/ex02/ft_str_is_alpha.c @@ -6,19 +6,24 @@ /* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/03 19:10:32 by cacharle #+# #+# */ -/* Updated: 2019/07/03 19:40:15 by cacharle ### ########.fr */ +/* Updated: 2019/07/04 10:12:29 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ int is_between(char start, char end, char subject) { + printf("--%c %c %c\n", start, end, subject); return (subject >= start && subject <= end); } int ft_str_is_alpha(char *str) { while (*str != '\0') - if (!is_between('a', 'z', *str) || !is_between('A', 'Z', *str)) + { + printf("%c ", *str); + if (!(is_between('a', 'z', *str) || is_between('A', 'Z', *str))) return (0); + str++; + } return (1); } diff --git a/c02/ex03/ft_str_is_numeric.c b/c02/ex03/ft_str_is_numeric.c index b73450e..83ad454 100644 --- a/c02/ex03/ft_str_is_numeric.c +++ b/c02/ex03/ft_str_is_numeric.c @@ -6,7 +6,7 @@ /* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/03 19:26:04 by cacharle #+# #+# */ -/* Updated: 2019/07/03 19:39:25 by cacharle ### ########.fr */ +/* Updated: 2019/07/04 10:31:44 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -18,7 +18,10 @@ int is_between(char start, char end, char subject) int ft_str_is_numeric(char *str) { while (*str != '\0') + { if (!is_between('0', '9', *str)) return (0); + str++; + } return (1); } diff --git a/c02/ex04/ft_str_is_lowercase.c b/c02/ex04/ft_str_is_lowercase.c index b053ee6..e12d16e 100644 --- a/c02/ex04/ft_str_is_lowercase.c +++ b/c02/ex04/ft_str_is_lowercase.c @@ -6,7 +6,7 @@ /* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/03 19:30:47 by cacharle #+# #+# */ -/* Updated: 2019/07/03 19:38:43 by cacharle ### ########.fr */ +/* Updated: 2019/07/04 10:34:23 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -18,7 +18,10 @@ int is_between(char start, char end, char subject) int ft_str_is_lowercase(char *str) { while (*str != '\0') + { if (!is_between('a', 'z', *str)) return (0); + str++; + } return (1); } diff --git a/c02/ex05/ft_str_is_uppercase.c b/c02/ex05/ft_str_is_uppercase.c index b615982..0ff55b2 100644 --- a/c02/ex05/ft_str_is_uppercase.c +++ b/c02/ex05/ft_str_is_uppercase.c @@ -6,7 +6,7 @@ /* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/03 19:33:13 by cacharle #+# #+# */ -/* Updated: 2019/07/03 19:40:56 by cacharle ### ########.fr */ +/* Updated: 2019/07/04 10:36:44 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -18,7 +18,10 @@ int is_between(char start, char end, char subject) int ft_str_is_uppercase(char *str) { while (*str != '\0') + { if (!is_between('A', 'Z', *str)) return (0); + str++; + } return (1); } diff --git a/c02/ex06/ft_str_is_printable.c b/c02/ex06/ft_str_is_printable.c index cd5148e..edb8fe5 100644 --- a/c02/ex06/ft_str_is_printable.c +++ b/c02/ex06/ft_str_is_printable.c @@ -6,14 +6,17 @@ /* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/03 19:43:32 by cacharle #+# #+# */ -/* Updated: 2019/07/03 19:44:57 by cacharle ### ########.fr */ +/* Updated: 2019/07/04 21:02:08 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -int ft_str_is_printable(char *str) +int ft_str_is_printable(char *str) { while (*str != '\0') + { if (*str < ' ') return (0); + str++; + } return (1); } diff --git a/c02/ex07/ft_strupcase.c b/c02/ex07/ft_strupcase.c index 9ffc342..30ef161 100644 --- a/c02/ex07/ft_strupcase.c +++ b/c02/ex07/ft_strupcase.c @@ -6,19 +6,25 @@ /* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/03 19:48:22 by cacharle #+# #+# */ -/* Updated: 2019/07/03 19:51:38 by cacharle ### ########.fr */ +/* Updated: 2019/07/04 21:01:47 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -int is_between(char start, char end, char subject) +int is_between(char start, char end, char subject) { return (subject >= start && subject <= end); } -char *ft_strupcase(char *str) +char *ft_strupcase(char *str) { + char *head; + + head = str; while (*str != '\0') - if (is_between('a', 'z', *str) + { + if (is_between('a', 'z', *str)) *str = *str - 'a' + 'A'; - return (str); + str++; + } + return (head); } diff --git a/c02/ex07/ft_strlowercase.c b/c02/ex08/ft_strlowercase.c index 18855e5..c0e27c6 100644 --- a/c02/ex07/ft_strlowercase.c +++ b/c02/ex08/ft_strlowercase.c @@ -6,7 +6,7 @@ /* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/03 19:53:41 by cacharle #+# #+# */ -/* Updated: 2019/07/03 19:54:46 by cacharle ### ########.fr */ +/* Updated: 2019/07/04 11:24:01 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,8 +17,14 @@ int is_between(char start, char end, char subject) char *ft_strlowcase(char *str) { + char *head; + + head = str; while (*str != '\0') - if (is_between('A', 'Z', *str) + { + if (is_between('A', 'Z', *str)) *str = *str - 'A' + 'a'; - return (str); + str++; + } + return (head); } diff --git a/c02/ex09/ft_strcapitalize.c b/c02/ex09/ft_strcapitalize.c new file mode 100644 index 0000000..2707de7 --- /dev/null +++ b/c02/ex09/ft_strcapitalize.c @@ -0,0 +1,46 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strcapitalize.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/07/04 13:18:24 by cacharle #+# #+# */ +/* Updated: 2019/07/04 15:24:18 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int is_between(char start, char end, char character) +{ + return (character >= start && character <= end); +} + +int is_alphanum(char character) +{ + return (is_between('a', 'z', character) || is_between('A', 'Z', character) + || is_between('0', '9', character)); +} + +char *ft_strcapitalize(char *str) +{ + char *cursor; + + cursor = str; + while (*cursor != '\0') + { + if (is_alphanum(*cursor)) + { + if (is_between('a', 'z', *cursor)) + *cursor = *cursor - 'a' + 'A'; + cursor++; + while (is_alphanum(*cursor)) + { + if (is_between('A', 'Z', *cursor)) + *cursor = *cursor - 'A' + 'a'; + cursor++; + } + } + cursor++; + } + return (str); +} diff --git a/c02/ex10/ft_strlcpy.c b/c02/ex10/ft_strlcpy.c new file mode 100644 index 0000000..08f72a2 --- /dev/null +++ b/c02/ex10/ft_strlcpy.c @@ -0,0 +1,13 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strlcpy.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/07/04 15:27:01 by cacharle #+# #+# */ +/* Updated: 2019/07/04 15:27:03 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + + diff --git a/c02/ex11/ft_putstr_non_printable.c b/c02/ex11/ft_putstr_non_printable.c new file mode 100644 index 0000000..0171464 --- /dev/null +++ b/c02/ex11/ft_putstr_non_printable.c @@ -0,0 +1,42 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putstr_non_printable.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/07/04 16:46:03 by cacharle #+# #+# */ +/* Updated: 2019/07/04 21:53:48 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include <unistd.h> + +void ft_putchar(char c) +{ + write(1, &c, 1); +} + +void ft_putstr_non_printable(char *str) +{ + unsigned char tmp; + unsigned char *cursor; + char *hex_symbols; + + hex_symbols = "0123456789abcdef"; + cursor = str; + while (*cursor != '\0') + { + if (*cursor >= ' ' && *cursor <= '~') + write(1, cursor, 1); + else + { + ft_putchar('\\'); + tmp = *cursor / 16; + ft_putchar(hex_symbols[tmp]); + tmp = *cursor % 16; + ft_putchar(hex_symbols[tmp]); + } + cursor++; + } +} @@ -1,49 +1,87 @@ #include <stdio.h> #include <limits.h> -/*#include "ex00/ft_putchar.c"*/ -/*#include "ex01/ft_print_alphabet.c"*/ -/*#include "ex02/ft_print_reverse_alphabet.c"*/ -/*#include "ex03/ft_print_numbers.c"*/ -/*#include "ex04/ft_is_negative.c"*/ -/*#include "ex05/ft_print_comb.c"*/ -/*#include "ex06/ft_print_comb2.c"*/ -/*#include "ex07/ft_putnbr.c"*/ -#include "ex08/ft_print_combn.c" +#include "ex00/ft_strcpy.c" +#include "ex01/ft_strncpy.c" +/*#include "ex02/ft_str_is_alpha.c"*/ +/*#include "ex03/ft_str_is_numeric.c"*/ +/*#include "ex04/ft_str_is_lowercase.c"*/ +/*#include "ex05/ft_str_is_uppercase.c"*/ +/*#include "ex06/ft_str_is_printable.c"*/ +/*#include "ex07/ft_strupcase.c"*/ +/*#include "ex08/ft_strlowercase.c"*/ +#include "ex09/ft_strcapitalize.c" +#include "ex10/ft_strlcpy.c" +#include "ex11/ft_putstr_non_printable.c" int main() { + /*char *last;*/ + /*char dest[13];*/ + /*char src[] = "aonjour asdf\0 asdf";*/ + /*last = ft_strcpy(dest, src);*/ + /*for (int i = 0; i < 13; i++)*/ + /*printf("%d ", dest[i]);*/ + /*printf("last %d", *last);*/ + /*printf("\n%s\n", dest);*/ - /*ft_putchar('a');*/ - /*ft_putchar('z');*/ - /*ft_putchar('\n');*/ + /*char ndest[10];*/ + /*char nsrc[20] = "bonjour jew\0";*/ + /*last = ft_strncpy(ndest, nsrc, sizeof ndest);*/ + /*for (int i = 0; i < sizeof ndest; i++)*/ + /*printf("%d ", ndest[i]);*/ + /*printf("dest %d, last %d", ndest, last);*/ + /*printf("\n%s\n", ndest);*/ - /*ft_putchar('\n');*/ - /*ft_print_alphabet();*/ + /*char salpha[] = "BONJour";*/ + /*char snalpha[] = "bonJour";*/ + /*printf("%d salpha\n", ft_str_is_alpha(salpha));*/ + /*printf("%d snalpha\n", ft_str_is_alpha(snalpha));*/ - /*ft_putchar('\n');*/ - /*ft_print_reverse_alphabet();*/ + /*char num[] = "0123456789";*/ + /*char nnum[] = "0123456789a";*/ + /*printf("%d num\n", ft_str_is_numeric(num));*/ + /*printf("%d nnum\n", ft_str_is_numeric(nnum));*/ - /*ft_putchar('\n');*/ - /*ft_print_numbers();*/ + /*char low[] = "bonjour";*/ + /*char nlow[] = "bonjOUR";*/ + /*printf("%d low\n", ft_str_is_lowercase(low));*/ + /*printf("%d nlow\n", ft_str_is_lowercase(nlow));*/ - /*ft_putchar('\n');*/ - /*ft_is_negative(1);*/ - /*ft_is_negative(0);*/ - /*ft_is_negative(-1);*/ + /*char up[] = "BONJOUR";*/ + /*char nup[] = "BonjOUR";*/ + /*printf("%d up\n", ft_str_is_uppercase(up));*/ + /*printf("%d nup\n", ft_str_is_uppercase(nup));*/ - /*ft_putchar('\n');*/ - /*ft_print_comb();*/ + /*char printable[] = "boq4523$$%@$!``~~;'[[=_";*/ + /*char nprintable[] = "as^?\bf89*0(\n\r";*/ + /*printf("%d printable\n", ft_str_is_printable(printable));*/ + /*printf("%d nprintable\n", ft_str_is_printable(nprintable));*/ - /*ft_putchar('\n');*/ - /*ft_print_comb2();*/ + /*char toup[] = "bonjourJE6''";*/ + /*char *upped = ft_strupcase(toup);*/ + /*printf("%s\n", upped);*/ - /*ft_putchar('\n');*/ - /*ft_putnbr(INT_MAX);*/ - /*ft_putchar('\n');*/ - /*ft_putnbr(INT_MIN);*/ - /*ft_putchar('\n');*/ - /*ft_putnbr(-42);*/ + /*char tolow[] = "bonJOURJE6''";*/ + /*char *lowered = ft_strlowcase(tolow);*/ + /*printf("%s\n", lowered);*/ + /*char tocap[1024] = "salut, comment tu vas ? 42mots quarante-deux; cinquante+et+un";*/ + /*ft_strcapitalize(tocap);*/ + /*printf("%s\n", tocap);*/ - ft_print_combn(2); + /*char buf[40];*/ + /*char src[] = "bonjour qqq";*/ + /*printf("str len = %u", ft_strlcpy(buf, str, 40));*/ + + /*char unp[10] = {10, 1, 2, 'a', 'g', '+', ' ', 20};*/ + /*ft_putstr_non_printable(unp);*/ + char unp2[10] = {'\xff'}; + for (int i = 0; i < 256; i++) + { + unp2[0] = (char)i; + ft_putstr_non_printable(unp2); + } + ft_putstr_non_printable("Coucou\ntu vas bien ?"); + + return 0; } |
