#include <fcntl.h>
#include <unistd.h>
#include <assert.h>
#include <stdio.h>

#define BLOCK_SIZE 1


int main(int argc, char *argv[])
{
	FILE* fin,
		* fout;
	char buf[BLOCK_SIZE];

	assert( argc == 3 );

	fin = fopen(argv[1], "r");
	assert( fin != NULL );

	fout = fopen(argv[2],"w");
	assert( fout != NULL );

	while(1){
		ssize_t nb_read; 
		nb_read = fread(buf,BLOCK_SIZE,1,fin);
		if (nb_read <= 0)
			break;
		fwrite(buf,BLOCK_SIZE,nb_read,fout);
	}

	fclose(fin);
	fclose(fout);

	return 0;
}

