diff options
Diffstat (limited to 'c02')
| -rw-r--r-- | c02/ex12/ft_print_memory.c | 44 | ||||
| -rw-r--r-- | c02/main.c | 14 |
2 files changed, 55 insertions, 3 deletions
diff --git a/c02/ex12/ft_print_memory.c b/c02/ex12/ft_print_memory.c new file mode 100644 index 0000000..442d6e4 --- /dev/null +++ b/c02/ex12/ft_print_memory.c @@ -0,0 +1,44 @@ +#include <unistd.h> + +void xy_putchar(char c) +{ + write(1, &c, 1); +} + +void *ft_print_memory(void *addr, unsigned int size) +{ + int i; + unsigned char *cursor; + char *hex_symbols; + + cursor = (unsigned char*)addr; + hex_symbols = "0123456789abcdef"; + i = 0; + /* while (i < size) */ + /* { */ + /* i = 0; */ + while (i < size) + { + xy_putchar(hex_symbols[cursor[i] / 16]); + xy_putchar(hex_symbols[cursor[i] % 16]); + if ((i + 1) % 2 == 0) + xy_putchar(' '); + i++; + /* } */ + /* i = 0; */ + /* while(i % 16 != 0 && i < size) */ + /* { */ + /* i++; */ + /* } */ + /* i = 0; */ + /* while(i % 16 != 0 && i < size) */ + /* { */ + /* cursor++; */ + /* i++; */ + /* } */ + /* i++; */ + } + return (addr); +} + +//if (cursor[i] >= ' ' && cursor[i] <= '~') @@ -1,5 +1,8 @@ -#include <stdio.h> +#ifdef linux +# include <bsd/string.h> // with -lbsd +#endif #include <string.h> +#include <stdio.h> #include <limits.h> #include "ex00/ft_strcpy.c" #include "ex01/ft_strncpy.c" @@ -13,6 +16,7 @@ #include "ex09/ft_strcapitalize.c" #include "ex10/ft_strlcpy.c" #include "ex11/ft_putstr_non_printable.c" +#include "ex12/ft_print_memory.c" int main() { @@ -77,9 +81,9 @@ int main() ft_strcapitalize(tocap); printf("%s\n", tocap); - char a[] = "qweihroqwier"; + /* char a[] = "qweihroqwier"; */ char ldest[6]; - char b[] = "qweqweeqwrqwer"; + /* char b[] = "qweqweeqwrqwer"; */ char lsrc[] = "qwroiqwer"; printf("len %u : ", ft_strlcpy(ldest, lsrc, sizeof ldest )); for (int i = 0; i < 33; i++) @@ -101,5 +105,9 @@ int main() } ft_putstr_non_printable("Coucou\ntu vas bien ?"); + printf("\n---------------------\n"); + char *addr = "bonjour je suis charles et je le suis bien"; + ft_print_memory(addr, sizeof addr); + return 0; } |
