diff --git a/concurr.c b/concurr.c new file mode 100644 index 0000000..6409710 --- /dev/null +++ b/concurr.c @@ -0,0 +1,35 @@ +#include +#include + +#include +#include + + +int desc_read, desc_write; +char c; + +int main(int argc, char *argv[]) { + + if (argc != 3) { + printf("Deux noms de fichiers comme arguments\n"); + exit(1); + } + + if ((desc_read = open(argv[1], O_RDONLY)) == -1) { + perror(argv[1]); + exit(1); + } + + if ((desc_write = open(argv[2], O_WRONLY|O_CREAT|O_TRUNC, 0666)) == -1) { + perror(argv[2]); + exit(1); + } + + for(;;) { + if (read(desc_read, &c, 1) != 1) exit(0); + write(desc_write, &c, 1); + } + close(desc_read); + close(desc_write); + return EXIT_SUCCESS; +}