STDIO.3
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:5k
源码类别:

操作系统开发

开发平台:

C/C++

  1. ." Copyright (c) 1980 Regents of the University of California.
  2. ." All rights reserved.  The Berkeley software License Agreement
  3. ." specifies the terms and conditions for redistribution.
  4. ."
  5. ." @(#)stdio.3s 6.2 (Berkeley) 5/13/86
  6. ."
  7. .TH STDIO 3 "May 13, 1986"
  8. .UC 4
  9. .SH NAME
  10. stdio - standard buffered input/output package
  11. .SH SYNOPSIS
  12. .nf
  13. .ft B
  14. #include <stdio.h>
  15. FILE *stdin;
  16. FILE *stdout;
  17. FILE *stderr;
  18. .ft R
  19. .fi
  20. .SH DESCRIPTION
  21. The functions in the standard I/O library constitute a user-level buffering
  22. scheme.  The in-line macros
  23. .B getc
  24. and
  25. .BR  putc (3)
  26. handle characters quickly.  The higher level routines
  27. .BR gets ,
  28. .BR fgets ,
  29. .BR scanf ,
  30. .BR fscanf ,
  31. .BR fread ,
  32. .BR puts ,
  33. .BR fputs ,
  34. .BR printf ,
  35. .BR fprintf ,
  36. .BR fwrite
  37. all use
  38. .B getc
  39. and
  40. .BR putc ;
  41. they can be freely intermixed.
  42. .PP
  43. A file with associated buffering is called a
  44. .IR stream ,
  45. and is declared to be a pointer to a defined type
  46. .SM
  47. .BR FILE .
  48. .BR  Fopen (3)
  49. creates certain descriptive data for a stream
  50. and returns a pointer to designate the stream in all further transactions.
  51. There are three normally open streams with constant pointers declared in
  52. the include file and associated with the standard open files:
  53. .TP 10n
  54. .B stdin
  55. standard input file
  56. .br
  57. .ns
  58. .TP
  59. .B stdout
  60. standard output file
  61. .br
  62. .ns
  63. .TP
  64. .B stderr
  65. standard error file
  66. .PP
  67. A constant `pointer'
  68. .SM
  69. .B NULL
  70. (0)
  71. designates no stream at all.
  72. .PP
  73. An integer constant
  74. .SM
  75. .B EOF
  76. (-1) is returned upon end of file or error by integer functions that
  77. deal with streams.
  78. .PP
  79. Any routine that uses the standard input/output package
  80. must include the header file
  81. .RI < stdio.h >
  82. of pertinent macro definitions.
  83. The functions and constants mentioned in the standard I/O manual pages
  84. are declared in the include file and need no further declaration.
  85. The constants, and the following `functions' are
  86. implemented as macros; redeclaration of these names is perilous:
  87. .BR clearerr ,
  88. .BR getc ,
  89. .BR getchar ,
  90. .BR putc ,
  91. .BR putchar ,
  92. .BR feof ,
  93. .BR ferror ,
  94. .BR fileno .
  95. .SH "SEE ALSO"
  96. .BR open (2),
  97. .BR close (2),
  98. .BR read (2),
  99. .BR write (2),
  100. .BR fclose (3),
  101. .BR ferror (3),
  102. .BR fopen (3),
  103. .BR fread (3),
  104. .BR fseek (3),
  105. .BR getc (3),
  106. .BR gets (3),
  107. .BR printf (3),
  108. .BR putc (3),
  109. .BR puts (3),
  110. .BR scanf (3),
  111. .BR setbuf (3),
  112. .BR ungetc (3).
  113. .SH DIAGNOSTICS
  114. The value
  115. .SM
  116. .B EOF
  117. is returned uniformly to indicate that a
  118. .SM
  119. .B FILE
  120. pointer has not been initialized with
  121. .BR fopen ,
  122. input (output) has been attempted on an output (input) stream, or a
  123. .SM
  124. .B FILE
  125. pointer designates corrupt or otherwise unintelligible
  126. .SM
  127. .B FILE
  128. data.
  129. .PP
  130. For purposes of efficiency, this implementation of the standard library
  131. has been changed to line buffer output to a terminal by default and attempts
  132. to do this transparently by flushing the output whenever a 
  133. .BR read (2)
  134. from the standard input is necessary.  This is almost always transparent,
  135. but may cause confusion or malfunctioning of programs which use
  136. standard i/o routines but use
  137. .BR read (2)
  138. themselves to read from the standard input.
  139. .PP
  140. In cases where a large amount of computation is done after printing
  141. part of a line on an output terminal, it is necessary to
  142. .BR fflush (3)
  143. the standard output before going off and computing so that the output
  144. will appear.
  145. .SH BUGS
  146. The standard buffered functions do not interact well with certain other
  147. library and system functions, especially fBforkfP and fBabortfP.
  148. .SH "LIST OF FUNCTIONS"
  149. .sp 2
  150. .nf
  151. .ta w'setlinebuf'u+2n +w'setbuf(3)'u+10n
  152. fBNamefP fBAppears on PagefP fBDescriptionfP
  153. .ta w'setlinebuf'u+4n +w'setbuf(3)'u+4n
  154. .sp 5p
  155. clearerr ferror(3) stream status inquiries
  156. fclose fclose(3) close or flush a stream
  157. fdopen fopen(3) open a stream
  158. feof ferror(3) stream status inquiries
  159. ferror ferror(3) stream status inquiries
  160. fflush fclose(3) close or flush a stream
  161. fgetc getc(3) get character or word from stream
  162. fgets gets(3) get a string from a stream
  163. fileno ferror(3) stream status inquiries
  164. fopen fopen(3) open a stream
  165. fprintf printf(3) formatted output conversion
  166. fputc putc(3) put character or word on a stream
  167. fputs puts(3) put a string on a stream
  168. fread fread(3) buffered binary input/output
  169. freopen fopen(3) open a stream
  170. fscanf scanf(3) formatted input conversion
  171. fseek fseek(3) reposition a stream
  172. ftell fseek(3) reposition a stream
  173. fwrite fread(3) buffered binary input/output
  174. getc getc(3) get character or word from stream
  175. getchar getc(3) get character or word from stream
  176. gets gets(3) get a string from a stream
  177. getw getc(3) get character or word from stream
  178. printf printf(3) formatted output conversion
  179. putc putc(3) put character or word on a stream
  180. putchar putc(3) put character or word on a stream
  181. puts puts(3) put a string on a stream
  182. putw putc(3) put character or word on a stream
  183. rewind fseek(3) reposition a stream
  184. scanf scanf(3) formatted input conversion
  185. setbuf setbuf(3) assign buffering to a stream
  186. setvbuf setbuf(3) assign buffering to a stream
  187. snprintf printf(3) formatted output conversion
  188. sprintf printf(3) formatted output conversion
  189. sscanf scanf(3) formatted input conversion
  190. ungetc ungetc(3) push character back into input stream
  191. vfprintf printf(3) formatted output conversion
  192. vfscanf scanf(3) formatted input conversion
  193. vprintf printf(3) formatted output conversion
  194. vscanf scanf(3) formatted input conversion
  195. vsnprintf printf(3) formatted output conversion
  196. vsprintf printf(3) formatted output conversion
  197. vsscanf scanf(3) formatted input conversion
  198. .fi