/*Ejemplo6 Copia el contenido de un archivo a otro archivo*/
#include <unistd.h>
#include <sys/fcntl.h>

#define BUFSIZ 128

main(int argc, char *argv[]) {

	int fd1, fd2;
	char buffer[BUFSIZ]; /*buffer de lectura y escritura*/
	int nbytes; /*contador de bytes leidos*/

	
	if (argc < 3) { /*Para ejecutar este programa se deben pasar dos 
			argumentos de la linea de comando*/
		printf("Ejemplo6: Ejemplo6 archivo archivo_origen archivo_destino\n");
	} else {
		/*abrir el archivo origen de solo lectura*/

		fd1= open(argv[1],O_RDONLY);

		if (fd1<0) {
			perror("Error al abrir el archivo origen");
			exit(1);
		} /*if*/

		/*crear al archivo destino*/
		fd2= creat(argv[2],0644);

		if (fd2<0) {
			perror("Error al crear el archivo destino");
			exit(2);
		} /*if*/

	}/*if*/

	while ( ( nbytes=read(fd1, buffer, BUFSIZ) ) > 0 ) {

		printf("Leyendo %d bytes\n",nbytes);

		nbytes=write(fd2,buffer,nbytes);

		printf("Escribiendo %d bytes\n",nbytes);	
	}/*while*/

	exit(0);

}

