home *** CD-ROM | disk | FTP | other *** search
/ CBM Funet Archive / cbm-funet-archive-2003.iso / cbm / crossplatform / converters / unix / unkar.c < prev   
C/C++ Source or Header  |  1994-05-12  |  1KB  |  57 lines

  1. #INCLUDE <STDIO.H>
  2.  
  3. INT GETLINE();
  4. INT ATOI();
  5.  
  6. MAIN(ARGC, ARGV)
  7. INT ARGC;
  8. CHAR *ARGV[];
  9. {$7b}
  10. file *FIN, *FOUT;
  11. CHAR LINE[1000];
  12. INT NFILES, NLINES, IFILE, ILINE;
  13.  
  14. IF (ARGC != 2) {$7b}
  15. FPRINTF(STDERR, "USAGE: %S FILENAME\N", ARGV[0]);
  16. EXIT( 1 );
  17. {$7d}
  18. FIN = FOPEN( ARGV[1], "R" );
  19. IF (FIN == null) {$7b}
  20. FPRINTF(STDERR, "eRROR OPENING FILE \"%S\".\N", ARGV[1]);
  21. EXIT( 1 );
  22. {$7d}
  23. GETLINE( FIN, LINE );
  24. NFILES = ATOI( LINE );
  25. PRINTF("fILES TO EXTRACT = %D\N", NFILES);
  26. FOR (IFILE=1; IFILE <= NFILES; IFILE++) {$7b}
  27. GETLINE( FIN, LINE );
  28. PRINTF("%D. eXTRACTING \"%S\"", IFILE, LINE);
  29. FOUT = FOPEN( LINE, "W" );
  30. IF (FOUT == null) {$7b}
  31. FPRINTF(STDERR, "\NuNABLE TO OPEN \"%S\" FOR OUTPUT\N",
  32. LINE);
  33. EXIT(1);
  34. {$7d}
  35. GETLINE( FIN, LINE );
  36. NLINES = ATOI( LINE );
  37. PRINTF(", LINES=%D\N", NLINES);
  38. FOR (ILINE=1; ILINE <= NLINES; ILINE++) {$7b}
  39. GETLINE( FIN, LINE );
  40. FPRINTF(FOUT, "%S\N", LINE);
  41. {$7d}
  42. FCLOSE( FOUT );
  43. {$7d}
  44. {$7d}
  45.  
  46. INT GETLINE( FILE, LINE )
  47. REGISTER file *FILE;
  48. REGISTER CHAR *LINE;
  49. {$7b}
  50. REGISTER INT C;
  51.  
  52. WHILE ((C=GETC(FILE)) != '\N') {$7b}
  53. *LINE++ = C;
  54. {$7d}
  55. *LINE = '\0';
  56. {$7d}
  57.