Copy a file in debug mode : Debug « Development « C / ANSI-C





Copy a file in debug mode


#include <stdio.h>
#include <stdlib.h>

#define DEBUG

int main(int argc, char *argv[])
{
  FILE *from, *to;
  char ch;

  /* check number of command line arguments */
  if( argc != 3) {
    printf("Usage: copy <source> <destination>\n");
    exit(1);
  }

  /* open source file */
  if((from = fopen(argv[1], "rb"))==NULL) {
    printf("Cannot open source file.\n");
    exit(1);
  }

  /*open destination file */
  if((to = fopen (argv[2], "wb")) ==NULL) {
    printf("Cannot open destination file.\n");
    exit(1);
  }

  while(!feof(from)) {
    ch = fgetc(from);
    if(ferror(from)) {
      printf("Error reading source file.\n");
      exit(1);
    }
    if(!feof(from)) {
      fputc(ch, to);
    }
    if(ferror(to)) {
      printf("Error writing destination file.\n");
      exit(1);
    }
  }
  fclose(from);
  fclose(to);

  return 0;
}


           
       










Related examples in the same category

1.Debugging using pre-processing directives
2.Copy a file in four debug level