aboutsummaryrefslogtreecommitdiff
path: root/c10
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2019-07-15 08:15:37 +0200
committerCharles <sircharlesaze@gmail.com>2019-07-15 08:15:37 +0200
commit3b9a1d7dcc5683b962f2bf24795e80e1c449cd1f (patch)
tree25b02c02f5140dbefbabd7720f292d8be3d5cc51 /c10
parentc2bf9fcefbb4453cee271ccd1af9674ad2f3a181 (diff)
downloadpiscine-3b9a1d7dcc5683b962f2bf24795e80e1c449cd1f.tar.gz
piscine-3b9a1d7dcc5683b962f2bf24795e80e1c449cd1f.tar.bz2
piscine-3b9a1d7dcc5683b962f2bf24795e80e1c449cd1f.zip
c07 passed, c08 in progress, rush01(+ 6x6 try)
Diffstat (limited to 'c10')
-rw-r--r--c10/ex00/Makefile0
-rw-r--r--c10/ex00/bonjour4
-rw-r--r--c10/ex00/main.c63
3 files changed, 67 insertions, 0 deletions
diff --git a/c10/ex00/Makefile b/c10/ex00/Makefile
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/c10/ex00/Makefile
diff --git a/c10/ex00/bonjour b/c10/ex00/bonjour
new file mode 100644
index 0000000..918a5ef
--- /dev/null
+++ b/c10/ex00/bonjour
@@ -0,0 +1,4 @@
+bonjour
+je
+suis
+charles
diff --git a/c10/ex00/main.c b/c10/ex00/main.c
new file mode 100644
index 0000000..8fee64a
--- /dev/null
+++ b/c10/ex00/main.c
@@ -0,0 +1,63 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* main.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2019/07/11 18:06:43 by cacharle #+# #+# */
+/* Updated: 2019/07/11 18:45:01 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include <unistd.h>
+#include <fcntl.h>
+#define BUFFER_SIZE 1
+#include <stdio.h>
+
+int write_buffer(char *buf)
+{
+ int i;
+
+ i = 0;
+ while (buf[i])
+ {
+ write(STDOUT_FILENO, &buf[i], 1);
+ /*printf("%d %c\n", buf[i], buf[i]);*/
+ if (buf[i] == -1)
+ return (1);
+ i++;
+ }
+ return (0);
+}
+
+int main(int argc, char **argv)
+{
+ int fildes;
+ char buf[BUFFER_SIZE];
+ int reading;
+
+ if (argc == 1)
+ {
+ write(STDERR_FILENO, "File name missing.\n", 20);
+ return (1);
+ }
+ else if (argc > 2)
+ {
+ write(STDERR_FILENO, "Too many arguments.\n", 21);
+ return (1);
+ }
+ if ((fildes = open(argv[1], O_RDONLY)) < 0)
+ {
+ write(STDERR_FILENO, "Cannot read file.\n", 18);
+ return (1);
+ }
+ while (1)
+ {
+ if (read(fildes, buf, BUFFER_SIZE) == 0)
+ break;
+ write_buffer(buf);
+ }
+ close(fildes);
+ return (0);
+}