All pastes #1011079 Raw Edit

Anonymous

public text v1 · immutable
#1011079 ·published 2008-05-07 20:59 UTC
rendered paste body
#include <assert.h>
#include <stdio.h>


#define BUFFER_SIZE 1024

size_t copyFile( FILE *, FILE * );

int
main( int argc, char *argv[] ) {
    FILE *small, *big, *out;
    size_t curByte;

    small = fopen( argv[ 1 ], "r" );
    big = fopen( argv[ 2 ], "r" );
    out = fopen( argv[ 3 ], "w" );

    assert( NULL != small && NULL != big && NULL != out );

    curByte = copyFile( small, out );

    fseek( big, curByte, SEEK_SET );

    copyFile( big, out );
    
    fclose( small );
    fclose( big );
    fclose( out );

    return 0;
}


size_t
copyFile( FILE *in, FILE *out ) {
    size_t readBytes, writtenBytes, curByte;
    char buffer[ BUFFER_SIZE ];

    curByte = 0;
    
    while( ! feof( in ) ) {
        readBytes = fread( buffer, sizeof( char ), BUFFER_SIZE, in );
        writtenBytes = fwrite( buffer, sizeof( char ), readBytes, out );

        assert( readBytes == writtenBytes );

        curByte += readBytes;
    }

    return curByte;
}