Mega Code Archive

 
Categories / C / Development
 

Copy a file in four debug level

#include <stdio.h> #include <stdlib.h> /* DEBUG levels:           0: no debug           1: display byte read from source file           2. display byte written to destination file           3: display bytes read and bytes written */ #define DEBUG 2 int main(int argc, char *argv[]) {   FILE *in, *out;   unsigned char ch;   /* see if correct number of command line arguments */   if(argc!=4) {     printf("Usage: code <in> <out> <key>");     exit(1);   }   /* open input file */   if((in = fopen(argv[1], "rb"))==NULL) {     printf("Cannot open input file.\n");     exit(1);   }   /* open output file */   if((out = fopen(argv[2], "wb"))==NULL) {     printf("Cannot open output file.\n");     exit(1);   }   while(!feof(in)) {     ch = fgetc(in); #if DEBUG == 1 || DEBUG == 3     putchar(ch); #endif     ch = *argv[3] ^ ch; #if DEBUG >= 2     putchar(ch); #endif     if(!feof(in)) fputc(ch, out);   }   fclose(in);   fclose(out);   return 0; }