Skip to Content
LINUX系統程式設計 第二版
book

LINUX系統程式設計 第二版

by Robert Love
December 2013
Intermediate to advanced
496 pages
8h 57m
Chinese
GoTop Information, Inc.
Content preview from LINUX系統程式設計 第二版
78
|
第三章
a+
開啟檔案以備讀取和寫入,並且進入附加模式。如果檔案不存在,則會予以建立。
串流位於檔案末端。所寫入的資料會被附加到檔案末端。
mode
引數中還可以包含字符
b
,雖然在 Linux 上總是會忽略此值。有些作
業系統會以不同方式來處理文字檔和二元檔,而
b
模式可要求
fopen()
二元模式開啟檔案。而 Linux,如同與 POSIX 相容的所有系統,則會以相
同的方式來處理文字檔和二元檔。
執行成功時,
fopen()
會傳回一個有效的
FILE
指標。執行失敗時,則會傳回
NULL
並把
errno
設定為適當的值。
例如,下面的程式碼會開啟
/etc/manifest
以備讀取,以及把它關聯到
stream
FILE *stream;
stream = fopen ("/etc/manifest", "r");
if (!stream)
/* 錯誤 */
經由檔案描述器開啟一個串流
函式
fdopen()
可將一個已開啟的檔案描述器(
fd
)轉換成一個串流:
#include <stdio.h>
FILE * fdopen (int fd, const char *mode);
其中
mode
引數的可能值如同
fopen()
,而且必須相容於最初開啟檔案描述器時所使用的
模式。你可以指定
w
w+
等模式,但是不會造成截短的結果。串流位於相關聯之「檔案
描述器」的「檔案位置」上。
檔案描述器被轉換成串流後,不應該再直接以檔案描述器來進行 I/O。然而,這麼做也
是合法的。請注意,檔案描述器並未重複,只是被關聯到一個新的串流。關閉串流同時 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

優雅的SciPy|Python科學研究的美學

優雅的SciPy|Python科學研究的美學

Juan Nunez-Iglesias, Stéfan van der Walt, Harriet Dashnow
C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普

Publisher Resources

ISBN: 9789862769812