home *** CD-ROM | disk | FTP | other *** search
/ Online Software 2: 1,000 Utilities / TK_OJ9711.iso / editer / DOSOUT10.LZH / DOSOUT.C next >
Encoding:
C/C++ Source or Header  |  1997-09-13  |  793 b   |  51 lines

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <sys\stat.h>
  4. #include <fcntl.h>
  5. #include <io.h>
  6.  
  7. int main(int argc, char **argv)
  8. {
  9.     char cmd[512], buf[512];
  10.     char *p, *s;
  11.     int length, fh, fhc;
  12.  
  13.     if(argc == 1) return -1;
  14.     if(freopen("DOSOUT.LOG", "w", stdout) == NULL)
  15.     {
  16.         return -1;
  17.     }
  18.     p = cmd;
  19.     s = *++argv;
  20.     while(*s)
  21.     {
  22.         *p++ = *s++;
  23.     }
  24.     if(*++argv)
  25.     {
  26.         for( ; *argv; ++argv)
  27.         {
  28.             *p++ = 0x20;
  29.             s = *argv;
  30.             while(*s) *p++ = *s++;
  31.         }
  32.     }
  33.     *p = '\0';
  34.     system(cmd);
  35.     fclose(stdout);
  36.  
  37.     if((fh = open("DOSOUT.LOG", O_TEXT)) == -1 ||
  38.         (fhc = open("CON", O_CREAT|O_TEXT, S_IWRITE)) == -1)
  39.     {
  40.         return -1;
  41.     }
  42.     while((length = read(fh, buf, sizeof(buf))) > 0)
  43.     {
  44.         write(fhc, buf, length);
  45.     }
  46.     close(fh);
  47.     close(fhc);
  48.  
  49.     return 0;
  50. }
  51.