home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / win_lrn / bifflib / dumper.c next >
C/C++ Source or Header  |  1988-10-20  |  1KB  |  60 lines

  1.  
  2. #include "stdio.h"
  3.  
  4.  
  5. /*  DUMPER dumps all the records of a specified type  */
  6. main()
  7. {
  8.     char filename[12];
  9.     int type;
  10.     int handler(int, char *, int);
  11.     
  12.     printf("Enter filename\n");
  13.     scanf("%s", filename);
  14.     printf("Enter data type of interest\n");
  15.     scanf("%d", &type);
  16.     open_BIFF(filename);
  17.     read_BIFF(type, handler);
  18. }
  19.  
  20. int handler(int type, char *data, int length)
  21. {
  22.     int row, column, i;
  23.     unsigned int value;
  24.     double val;
  25.     char *label;
  26.     
  27.     int get_blank(char *, int *, int *);
  28.     int get_integer(char *, int *, int *, unsigned int *);
  29.     int get_number(char *, int *, int *, double *);
  30.     int get_label(char *, int *, int *,  char **);
  31.     int get_bool(char *, int *, int *, int *);
  32.  
  33.  
  34.     switch (type) {
  35.         case 1:
  36.         get_blank(data, &row, &column);
  37.         printf("In row %d column %d is a blank\n", row, column); 
  38.         break;
  39.         case 2:
  40.         get_integer(data, &row, &column, &value);
  41.         printf("In row %d column %d is %d\n", row, column, value); 
  42.         break;
  43.         case 4:
  44.         get_number(data, &row, &column, &val);
  45.         printf("In row %d column %d is %f\n", row, column, val); 
  46.         break;
  47.         case 8:
  48.         get_label(data, &row, &column, &label);
  49.         printf("In row %d column %d is %s\n", row, column, label); 
  50.         break;
  51.         case 16:
  52.         get_bool(data, &row, &column, &value);
  53.         printf("In row %d column %d is %d\n", row, column, value); 
  54.         break;
  55.  
  56.     }
  57.     
  58. }
  59.  
  60.