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

操作系统开发

开发平台:

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. ." @(#)fopen.3s 6.3 (Berkeley) 5/27/86
  6. ."
  7. .TH FOPEN 3  "May 27, 1986"
  8. .UC 4
  9. .SH NAME
  10. fopen, freopen, fdopen - open a stream
  11. .SH SYNOPSIS
  12. .nf
  13. .ft B
  14. #include <stdio.h>
  15. FILE *fopen(const char *fIfilenamefP, const char *fItypefP)
  16. FILE *freopen(const char *fIfilenamefP, const char *fItypefP, FILE *fIstreamfP)
  17. FILE *fdopen(int fIfildesfP, const char *fItypefP)
  18. .ft R
  19. .fi
  20. .SH DESCRIPTION
  21. .B Fopen
  22. opens the file named by
  23. .I filename
  24. and associates a stream with it.
  25. .B Fopen
  26. returns a pointer to be used to identify the stream in subsequent operations.
  27. .PP
  28. .I Type
  29. is a character string having one of the following values:
  30. .TP 5
  31. "r"
  32. open for reading
  33. .ns
  34. .TP 5
  35. "w"
  36. create for writing
  37. .ns
  38. .TP 5
  39. "a"
  40. append: open for writing at end of file, or create for writing
  41. .PP
  42. In addition, each
  43. .I type
  44. may be followed by a "+" to have the file opened for reading and writing.
  45. "r+" positions the stream at the beginning of the file, "w+" creates
  46. or truncates it, and "a+" positions it at the end.  Both reads and writes
  47. may be used on read/write streams, with the limitation that an
  48. .BR fseek ,
  49. .BR rewind ,
  50. or reading an end-of-file must be used between a read and a write or vice-versa.
  51. .PP
  52. .B Freopen
  53. substitutes the named file in place of the open
  54. .IR stream .
  55. It returns the original value of
  56. .IR stream .
  57. The original stream is closed.
  58. .PP
  59. .B Freopen
  60. is typically used to attach the preopened constant names,
  61. .B stdin, stdout, stderr,
  62. to specified files.
  63. .PP
  64. .B Fdopen
  65. associates a stream with a file descriptor obtained from
  66. .BR open ,
  67. .BR dup ,
  68. .BR creat ,
  69. or
  70. .BR pipe (2).
  71. The
  72. .I type
  73. of the stream must agree with the mode of the open file.
  74. .SH "SEE ALSO"
  75. .BR open (2),
  76. .BR fclose (3).
  77. .SH DIAGNOSTICS
  78. .B Fopen
  79. and 
  80. .B freopen
  81. return the pointer
  82. .SM
  83. .B NULL
  84. if
  85. .I filename
  86. cannot be accessed,
  87. if too many files are already open,
  88. or if other resources needed cannot be allocated.
  89. .SH BUGS
  90. .B Fdopen
  91. is not portable to systems other than UNIX.
  92. .PP
  93. The read/write 
  94. .I types
  95. do not exist on all systems.  Those systems without
  96. read/write modes will probably treat the 
  97. .I type
  98. as if the "+" was not present.  These are unreliable in any event.