|
|
1.1 ! root 1: #include <stdio.h> ! 2: #define ntof(n) (&_iob[n]) ! 3: ! 4: int cin 0; ! 5: int cout 1; ! 6: ! 7: cclose(n) ! 8: { ! 9: return(fclose(ntof(n))); ! 10: } ! 11: ! 12: ceof(n) ! 13: { ! 14: return(feof(ntof(n))); ! 15: } ! 16: ! 17: cexit(x) ! 18: { ! 19: exit(x); ! 20: } ! 21: ! 22: cflush(n) ! 23: { ! 24: return(fflush(ntof(n))); ! 25: } ! 26: ! 27: cgetc(n) ! 28: { ! 29: register c; ! 30: ! 31: if ((c = getc(ntof(n))) < 0) ! 32: return(0); ! 33: return(c); ! 34: } ! 35: ! 36: copen(f, m) ! 37: char m; ! 38: { ! 39: register struct _iobuf *iop; ! 40: ! 41: if ((iop = fopen(f, &m)) == NULL) ! 42: return(-1); ! 43: return(fileno(iop)); ! 44: } ! 45: ! 46: cputc(c, n) ! 47: { ! 48: putc(c, ntof(n)); ! 49: } ! 50: ! 51: cread(a, b, c, n) ! 52: { ! 53: return(fread(a, b, c, ntof(n))); ! 54: } ! 55: ! 56: cwrite(a, b, c, n) ! 57: { ! 58: return(fwrite(a, b, c, ntof(n))); ! 59: } ! 60: getcharz() ! 61: { ! 62: register c; ! 63: ! 64: if ((c = getc(ntof(cin))) < 0) ! 65: return(0); ! 66: return(c); ! 67: } ! 68: ! 69: printf(a, b, c, d) ! 70: { ! 71: struct _iobuf _strbuf; ! 72: if (a==-1) { ! 73: _strbuf._flag = _IOWRT+_IOSTRG; ! 74: _strbuf._ptr = b; ! 75: _strbuf._cnt = 32767; ! 76: _doprnt(c, &d, &_strbuf); ! 77: putc('\0', &_strbuf); ! 78: } else if (a<=10) { ! 79: _doprnt(b, &c, ntof(a)); ! 80: } else ! 81: _doprnt(a, &b, ntof(cout)); ! 82: } ! 83: ! 84: putcharz(c) ! 85: { ! 86: return(putc(c, ntof(cout))); ! 87: } ! 88: ! 89: gets(s) ! 90: char *s; ! 91: { ! 92: register c; ! 93: register char *cs; ! 94: ! 95: cs = s; ! 96: while ((c = getc(ntof(cin))) != '\n' && c>=0) ! 97: *cs++ = c; ! 98: if (c<0 && cs==s) ! 99: return(NULL); ! 100: *cs++ = '\0'; ! 101: return(s); ! 102: } ! 103: ! 104: puts(s) ! 105: char *s; ! 106: { ! 107: register c; ! 108: ! 109: while (c = *s++) ! 110: putc(c, ntof(cout)); ! 111: putc('\n', ntof(cout)); ! 112: } ! 113: ! 114: rew(n) ! 115: { ! 116: rewind(ntof(n)); ! 117: } ! 118: ! 119: scanf(a, b, c, d) ! 120: { ! 121: struct _iobuf strbuf; ! 122: register char *s; ! 123: ! 124: if (a == -1) { ! 125: strbuf._flag = _IOREAD|_IOSTRG; ! 126: strbuf._ptr = strbuf._base = b; ! 127: strbuf._cnt = 0; ! 128: s = b; ! 129: while (*s++) ! 130: strbuf._cnt++; ! 131: return(_doscan(&strbuf, c, &d)); ! 132: } else if (a<=10) ! 133: return(_doscan(ntof(a), b, &c)); ! 134: else ! 135: return(_doscan(ntof(cin), a, &b)); ! 136: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.