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 |