#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #define bSIZE 1024 int main( int argc, char *argv[] ) /* ---------------------------------------------------- ** * Copy file contents to stdout. * ---------------------------------------------------- ** */ { int fd_in; int fd_out; ssize_t count; char bufr[bSIZE]; if( argc != 2 ) { (void)fprintf( stderr, "Usage: %s <filename>\n", argv[0] ); exit( EXIT_FAILURE ); } fd_in = open( argv[1], O_RDONLY ); if( fd_in < 0 ) { perror( "open()" ); exit( EXIT_FAILURE ); } fd_out = fileno( stdout ); do { count = read( fd_in, bufr, bSIZE ); if( count > 0 ) count = write( fd_out, bufr, (size_t)count ); } while( bSIZE == count ); if( count < 0 ) { perror( "read()/write()" ); exit( EXIT_FAILURE ); } (void)close( fd_in ); exit( EXIT_SUCCESS ); } /* main */
$Revision: 1.1 $ $Date: 2002/08/14 06:10:19 $ |
Copyright © 2002 Christopher R. Hertel Released under the terms of the LGPL |