table of contents
other languages
FOPEN(3) | Linux Programmer's Manual | FOPEN(3) |
NAME¶
fopen, fdopen, freopen - 打開流SYNOPSIS 總覽¶
#include <stdio.h> FILE *fopen(const char *path, const char *mode);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 |