aboutsummaryrefslogtreecommitdiff
path: root/c02
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2019-08-06 18:19:11 +0200
committerCharles <sircharlesaze@gmail.com>2019-08-06 18:19:11 +0200
commitc6d343fccb84e9fc89dfc75b3f35a352e97b14a4 (patch)
tree5cde66a3b489c7882b6d7ba062df5a70dbaf0666 /c02
parent056a88ee9c2c9e26f9712d14c645e367d851f394 (diff)
downloadpiscine-c6d343fccb84e9fc89dfc75b3f35a352e97b14a4.tar.gz
piscine-c6d343fccb84e9fc89dfc75b3f35a352e97b14a4.tar.bz2
piscine-c6d343fccb84e9fc89dfc75b3f35a352e97b14a4.zip
details, print_memory start
- copied c09 correct ft_split to c07 - strdup parenthesis in malloc - strlcat copied from tested libft
Diffstat (limited to 'c02')
-rw-r--r--c02/ex12/ft_print_memory.c44
-rw-r--r--c02/main.c14
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] <= '~')
diff --git a/c02/main.c b/c02/main.c
index 1e41286..e9f0a47 100644
--- a/c02/main.c
+++ b/c02/main.c
@@ -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;
}