home *** CD-ROM | disk | FTP | other *** search
- /* Print an ASCII file and change tab characters to
- spaces.
- By Paul Sumberg 1985
- */
- #include "stdio.h"
-
- main(argc,argv)
- /* * * arguments are passed to main when program is invoked.
- The proper format is "PROGRAM filename.ext" * * */
- int argc;
- char **argv;
- {
- /* * * initialize variables * * */
- FILE *read_file, *out_file, *fopen ();
- char in_name[15];
- int c;
- char next_char;
- int counter = 0;
- int lines = 0;
- /* * * test for proper number of arguments * * */
- if(argc != 2)
- {
- printf("\nUsage: Print filename.ext\n");
- exit(1);
- }
-
- /* * * open input file that was given to main as argument * * */
-
- read_file = fopen (argv[1], "r");
-
- /* RATS! cant open it. */
- if ( read_file == NULL )
- printf("couldn't open %s for reading.\n",argv[1]);
- else
- {
-
- /* * open "printer" file for output.. * */
-
- out_file = fopen ("prn:" , "w");
- if (out_file == NULL )
- Printf("check printer.\n");
-
- else
-
- {
- /* * give printer some linefeeds. * */
- fprintf(out_file,"\n\n\n");
-
- /* read each character and send to printer,replacing TABs with SPACES. */
- while ( (c = getc(read_file)) != EOF )
- {
- next_char = c;
-
- /* * check page length and if near end, give FF * */
- if (next_char == '\r')
- {
- ++lines;
- next_char - '\0';
- }
- if(lines >= 60)
- { putc('\f',out_file);
- lines = 0;
-
- /* give new page some linefeeds */
- fprintf("\n\n\n");
- }
-
-
- /* * Is this sucker the tab character?? * */
- if (next_char == '\t')
- {
- for(counter = 0; counter != 3; ++counter)
- putc(' ', out_file);
- continue;
- }
-
- /* * * Stuff that thing out the printer port. * * */
- putc (c, out_file);
- }
- printf("file has been PRINTED!\n");
- }
- }
- fclose(out_file); /* * * Put files to bed
- fclose(read_file); * * * Night Night. * * */
- }