#include void read_stdin(int octets) { char *stock; int fd; int tmp; stock = malloc(sizeof(*stock)*octets); fd = read(0, stock, octets); if (fd == -1) { write(2, "Error1", 6); } tmp = write(1, stock, octets); if (tmp == -1) write(2, "Error2", 6); } void read_data(int nombre, char *fichier) { char *stock; int fd; int fd2; int fd3; stock = malloc(sizeof(*stock)*nombre); fd = open(fichier, O_RDONLY, 0); if (fd) read(fd, stock, nombre); else write(2, "Error4", 6); fd2 = write(1, stock, nombre); if (fd2 == -1) write(2, "Error5", 6); fd3 = close(fd); if (fd3 == -1) write(2, "Error6", 6); } int main(int argc, char **argv) { if (argc > 0) { if (argv[2]) read_data(my_getnbr(argv[1]), argv[2]); if (!argv[2]) read_stdin(my_getnbr(argv[1])); } return (0) ; }