iostdio.h
上传用户:sichengcw
上传日期:2009-02-17
资源大小:202k
文件大小:3k
源码类别:

STL

开发平台:

Visual C++

  1. /* 
  2. Copyright (C) 1993 Free Software Foundation
  3. This file is part of the GNU IO Library.  This library is free
  4. software; you can redistribute it and/or modify it under the
  5. terms of the GNU General Public License as published by the
  6. Free Software Foundation; either version 2, or (at your option)
  7. any later version.
  8. This library is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11. GNU General Public License for more details.
  12. You should have received a copy of the GNU General Public License
  13. along with this library; see the file COPYING.  If not, write to the Free
  14. Software Foundation, 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  15. As a special exception, if you link this library with files
  16. compiled with a GNU compiler to produce an executable, this does not cause
  17. the resulting executable to be covered by the GNU General Public License.
  18. This exception does not however invalidate any other reasons why
  19. the executable file might be covered by the GNU General Public License. */
  20. /* This file defines a stdio-like environment, except that it avoid
  21.    link-time name clashes with an existing stdio.
  22.    It allows for testing the libio using stdio-using programs
  23.    with an incompatible libc.a.
  24.    It is not predantically correct - e.g. some macros are used
  25.    that may evaluate a stream argument more than once.  */
  26. #ifndef _IOSTDIO_H
  27. #define _IOSTDIO_H
  28. #include "iolibio.h"
  29. typedef _IO_FILE FILE;
  30. #ifndef EOF
  31. #define EOF (-1)
  32. #endif
  33. #ifndef BUFSIZ
  34. #define BUFSIZ 1024
  35. #endif
  36. /* #define size_t, fpos_t L_tmpname TMP_MAX */
  37. #define _IOFBF 0 /* Fully buffered. */
  38. #define _IOLBF 1 /* Line buffered. */
  39. #define _IONBF 2 /* No buffering. */
  40. #define SEEK_SET 0
  41. #define SEEK_CUR 1
  42. #define SEEK_END 2
  43. #define stdin _IO_stdin
  44. #define stdout _IO_stdout
  45. #define stderr _IO_stderr
  46. #define getc(_fp) _IO_getc(_fp)
  47. #define putc(_ch, _fp) _IO_putc(_ch, _fp)
  48. #define clearerr _IO_clearerr
  49. #define fclose _IO_fclose
  50. #define feof _IO_feof
  51. #define ferror _IO_ferror
  52. #define fflush _IO_fflush
  53. #define fgetc(__fp) _IO_getc(_fp)
  54. #define fgetpos _IO_fgetpos
  55. #define fgets _IO_fgets
  56. #define fopen _IO_fopen
  57. #define fprintf _IO_fprintf
  58. #define fputc(_ch, _fp) _IO_putc(_ch, _fp)
  59. #define fputs _IO_fputs
  60. #define fread _IO_fread
  61. #define freopen _IO_freopen
  62. #define fscanf _IO_fscanf
  63. #define fseek _IO_fseek
  64. #define fsetpos _IO_fsetpos
  65. #define ftell _IO_ftell
  66. #define fwrite _IO_fwrite
  67. #define gets _IO_gets
  68. #define perror _IO_perror
  69. #define printf _IO_printf
  70. #define puts _IO_puts
  71. #define rewind _IO_rewind
  72. #define scanf _IO_scanf
  73. #define setbuf _IO_setbuf
  74. #define setbuffer _IO_setbuffer
  75. #define setvbuf _IO_setvbuf
  76. #define sprintf _IO_sprintf
  77. #define sscanf _IO_sscanf
  78. #define ungetc _IO_ungetc
  79. #define vfprintf _IO_vfprintf
  80. #define vprintf(__fmt, __args) vfprintf(stdout, __fmt, __args)
  81. #define vsprintf _IO_vsprintf
  82. #if 0
  83. /* We can use the libc versions of these, since they don't pass FILE*s. */
  84. #define remove ??? __P((const char*))
  85. #define rename ??? __P((const char* _old, const char* _new))
  86. #define tmpfile ??? __P((void))
  87. #define tmpnam ??? __P((char*))
  88. #endif
  89. #if !defined(__STRICT_ANSI__) || defined(_POSIX_SOURCE)
  90. #define fdopen _IO_fdopen
  91. #define fileno _IO_fileno
  92. #define popen _IO_popen
  93. #define pclose _IO_pclose
  94. #define setbuf _IO_setbuf
  95. #define setlinebuf _IO_setlinebuf
  96. #endif
  97. #endif /* _IOSTDIO_H */