1*c2c66affSColin Finck// C++ forwarding C stdio header. 2*c2c66affSColin Finck 3*c2c66affSColin Finck#pragma once 4*c2c66affSColin Finck 5*c2c66affSColin Finck#include <cstddef> 6*c2c66affSColin Finck#include <stdio.h> 7*c2c66affSColin Finck 8*c2c66affSColin Finck// Get rid of those macros defined in <stdio.h> in lieu of real functions. 9*c2c66affSColin Finck#undef clearerr 10*c2c66affSColin Finck#undef fclose 11*c2c66affSColin Finck#undef feof 12*c2c66affSColin Finck#undef ferror 13*c2c66affSColin Finck#undef fflush 14*c2c66affSColin Finck#undef fgetc 15*c2c66affSColin Finck#undef fgetpos 16*c2c66affSColin Finck#undef fgets 17*c2c66affSColin Finck#undef fopen 18*c2c66affSColin Finck#undef fprintf 19*c2c66affSColin Finck#undef fputc 20*c2c66affSColin Finck#undef fputs 21*c2c66affSColin Finck#undef fread 22*c2c66affSColin Finck#undef freopen 23*c2c66affSColin Finck#undef fscanf 24*c2c66affSColin Finck#undef fseek 25*c2c66affSColin Finck#undef fsetpos 26*c2c66affSColin Finck#undef ftell 27*c2c66affSColin Finck#undef fwrite 28*c2c66affSColin Finck#undef getc 29*c2c66affSColin Finck#undef getchar 30*c2c66affSColin Finck#undef gets 31*c2c66affSColin Finck#undef perror 32*c2c66affSColin Finck#undef printf 33*c2c66affSColin Finck#undef putc 34*c2c66affSColin Finck#undef putchar 35*c2c66affSColin Finck#undef puts 36*c2c66affSColin Finck#undef remove 37*c2c66affSColin Finck#undef rename 38*c2c66affSColin Finck#undef rewind 39*c2c66affSColin Finck#undef scanf 40*c2c66affSColin Finck#undef setbuf 41*c2c66affSColin Finck#undef setvbuf 42*c2c66affSColin Finck#undef sprintf 43*c2c66affSColin Finck#undef sscanf 44*c2c66affSColin Finck#undef tmpfile 45*c2c66affSColin Finck#undef tmpnam 46*c2c66affSColin Finck#undef ungetc 47*c2c66affSColin Finck#undef vfprintf 48*c2c66affSColin Finck#undef vprintf 49*c2c66affSColin Finck#undef vsprintf 50*c2c66affSColin Finck 51*c2c66affSColin Fincknamespace std 52*c2c66affSColin Finck{ 53*c2c66affSColin Finck using ::FILE; 54*c2c66affSColin Finck using ::fpos_t; 55*c2c66affSColin Finck 56*c2c66affSColin Finck using ::clearerr; 57*c2c66affSColin Finck using ::fclose; 58*c2c66affSColin Finck using ::feof; 59*c2c66affSColin Finck using ::ferror; 60*c2c66affSColin Finck using ::fflush; 61*c2c66affSColin Finck using ::fgetc; 62*c2c66affSColin Finck using ::fgetpos; 63*c2c66affSColin Finck using ::fgets; 64*c2c66affSColin Finck using ::fopen; 65*c2c66affSColin Finck using ::fprintf; 66*c2c66affSColin Finck using ::fputc; 67*c2c66affSColin Finck using ::fputs; 68*c2c66affSColin Finck using ::fread; 69*c2c66affSColin Finck using ::freopen; 70*c2c66affSColin Finck using ::fscanf; 71*c2c66affSColin Finck using ::fseek; 72*c2c66affSColin Finck using ::fsetpos; 73*c2c66affSColin Finck using ::ftell; 74*c2c66affSColin Finck using ::fwrite; 75*c2c66affSColin Finck using ::getc; 76*c2c66affSColin Finck using ::getchar; 77*c2c66affSColin Finck using ::gets; 78*c2c66affSColin Finck using ::perror; 79*c2c66affSColin Finck using ::printf; 80*c2c66affSColin Finck using ::putc; 81*c2c66affSColin Finck using ::putchar; 82*c2c66affSColin Finck using ::puts; 83*c2c66affSColin Finck using ::remove; 84*c2c66affSColin Finck using ::rename; 85*c2c66affSColin Finck using ::rewind; 86*c2c66affSColin Finck using ::scanf; 87*c2c66affSColin Finck using ::setbuf; 88*c2c66affSColin Finck using ::setvbuf; 89*c2c66affSColin Finck using ::sprintf; 90*c2c66affSColin Finck using ::sscanf; 91*c2c66affSColin Finck using ::tmpfile; 92*c2c66affSColin Finck using ::tmpnam; 93*c2c66affSColin Finck using ::ungetc; 94*c2c66affSColin Finck using ::vfprintf; 95*c2c66affSColin Finck using ::vprintf; 96*c2c66affSColin Finck using ::vsprintf; 97*c2c66affSColin Finck using ::vsnprintf; 98*c2c66affSColin Finck} 99