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

Home
C / ANSI-C
1.assert.h
2.Console
3.ctype.h
4.Data Structure Algorithm
5.Data Type
6.Development
7.File
8.Function
9.Language Basics
10.Macro Preprocessor
11.Math
12.math.h
13.Memory
14.Pointer
15.setjmp.h
16.signal.h
17.Small Application
18.stdio.h
19.stdlib.h
20.String
21.string.h
22.Structure
23.time.h
24.wctype.h
C Tutorial
C++
C++ Tutorial
Visual C++ .NET
C / ANSI-C » Development » DebugScreenshots 
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 == || 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;
}

           
       
Related examples in the same category
1.Debugging using pre-processing directives
2.Copy a file in debug mode
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.