table of contents
other languages
| FOPEN(3) | Linux Programmer's Manual | FOPEN(3) | 
NAME¶
fopen, fdopen, freopen - 打开流SYNOPSIS 总览¶
#include <stdio.h>DESCRIPTION 描述¶
函数 fopen 打开文件名为 path 指向的字符串的文件,将一个流与它关联。 参数 mode 指向一个字符串,以下列序列之一开始 (序列之后可以有附加的字符):- r
 - 打开文本文件,用于读。流被定位于文件的开始。
 
- r+
 - 打开文本文件,用于读写。流被定位于文件的开始。
 
- w
 - 将文件长度截断为零,或者创建文本文件,用于写。流被定位于文件的开始。
 
- w+
 - 打开文件,用于读写。如果文件不存在就创建它,否则将截断它。流被定位于文件的开始。
 
- a
 - 打开文件,用于追加 (在文件尾写)。如果文件不存在就创建它。流被定位于文件的末尾。
 
- a+
 - 打开文件,用于追加
      (在文件尾写)。如果文件不存在就创建它。读文件的初始位置是文件的开始,但是输出总是被追加到文件的末尾。
    
 
fseek(stream,0,SEEK_END);
一样。
函数 fdopen
  将一个流关联到已存在的文件描述符,
  fildes. 流的模式 mode
  (取值为 "r", "r+", "w",
  "w+", "a", "a+" 之一)
  必须与文件描述符的模式想匹配。新的流的定位标识被设置为
  fildes
  原有的值,错误和文件结束标记被清除。模式
  "w" 或者 "w+"
  不会截断文件。文件描述符不会被复制,在关闭由
  fdopen
  创建的流时,也不会被关闭。对共享内存对象实施
  fdopen
  的结果是未定义的。
函数 freopen 打开名称为
  path
  指向的字符串的文件,将它与
  stream
  指向的流关联。初始的流
  (如果存在的话)
  被关闭。参数 mode
  与在函数 fopen
  中用法一致。函数
  freopen
  主要的用处是改变与标准文本流
  (stderr, stdin, 或 stdout)
  相关联的文件
RETURN VALUE 返回值¶
如果成功执行了 fopen, fdopen 和 freopen 将返回一个指向文件对象 FILE 的指针。否则,将返回 NULL 并将设置全局变量 errno 的值来指示错误发生。ERRORS¶
- EINVAL
 - 为 fopen, fdopen, 或 freopen 提供的参数 mode 非法。
 
CONFORMING TO 标准参考¶
函数 fopen 和 freopen 遵循 ANSI X3.159-1989 (``ANSI C'') 标准。函数 fdopen 遵循 IEEE Std1003.1-1988 (``POSIX.1'') 标准。SEE ALSO 参见¶
open(2), fclose(3), fileno(3)| 2002-01-03 | BSD MANPAGE |