aboutsummaryrefslogtreecommitdiff
path: root/c02/ex12
diff options
context:
space:
mode:
Diffstat (limited to 'c02/ex12')
-rw-r--r--c02/ex12/ft_print_memory.c44
1 files changed, 44 insertions, 0 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] <= '~')