c++ - MyCopy - C Style (Source)
Header
mycopy_c.h
#ifndef MYCOPY_C_H
#define MYCOPY_C_H
int mycopy_c( const char *sSrc, const char *sDest );
#endif
Source
mycopy_c.c
#include "mycopy_c.h"
#include <stdio.h>
#define BUFSIZE (1024)
int main(int argc, char *argv[])
{
if( argc != 3 )
{
printf( "usage: mycopy_cpp src dest\n" );
return 1;
}
return mycopy_c( argv[1], argv[2] );
}
int mycopy_c( const char *sSrc, const char *sDest )
{
char buf[BUFSIZE];
FILE *fhIn, *fhOut;
size_t iSize;
fhIn = fopen( sSrc, "rb" );
if( !fhIn )
{
printf( "mycopy_c: Error reading from \"%s\".\n", sSrc );
return 2;
}
fhOut = fopen( sDest, "wb" );
if( !fhOut )
{
printf( "mycopy_c: Error writing to \"%s\".\n", sDest );
fclose( fhIn );
return 3;
}
printf( "Copying %s to %s.\n", sSrc, sDest );
iSize = fread( buf, sizeof( buf[0] ), BUFSIZE, fhIn );
while( iSize > 0 )
{
fwrite( buf, sizeof( buf[0] ), iSize, fhOut );
iSize = fread( buf, sizeof( buf[0] ), BUFSIZE, fhIn );
}
fclose( fhIn );
fclose( fhOut );
}