#include
#include
#include
#include
#include
int main(int argc,char *argv[]) { int fds = -1; int fdt = -1; char answer = 'n'; ssize_t size = -1; char buf[10]; if( argc != 3 ) { printf("Usage:%s SOURCE TARGET.\n",argv[0]); return 1; } fds = open( argv[1] , O_RDONLY | O_EXCL ); if ( fds == -1 ) { printf("%s: The source doesn't exist.\n",argv[0]); return 2; } close( fds ); fdt = open( argv[2] , O_WRONLY | O_CREAT | O_EXCL , 00666 ); if ( fdt == -1 ) { printf("%s: Overwrite '%s'? ",argv[0],argv[2]); scanf("%c",&answer); if ( answer != 'y' ) { return 3; } else { fdt = open ( argv[2] , O_WRONLY | O_CREAT | O_TRUNC , 00666 ); } } fds = open( argv[1] , O_RDONLY ); if ( fds == -1 ) { printf("%s: %s open error.\n",argv[0],argv[1]); return 4; } while( size ) { size = read( fds, buf, 10 ); if ( size == -1 ) { printf("%s: %s read error.\n",argv[0],argv[1]); return 5; } else { if ( size > 0 ) { write( fdt, buf, size ); } } } return 0; }