トップページ – C言語編 – 標準ライブラリのリファレンス(名前順)
トップページ – C言語編 – 標準ライブラリのリファレンス(ヘッダ別)
概要 | ファイルを開く。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ヘッダ | stdio.h | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
形式 | FILE* fopen(const char* restrict filename, const char* restrict mode); | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
引数 | filename | ファイル名。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mode | モード。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
戻り値 | 成功した場合は、オープンしたファイルを制御するための FILEオブジェクトへのポインタを返す。失敗した場合は、ヌルポインタを返す。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
詳細 |
引数filename に指定した名前を持ったファイルをオープンし、ストリームを結びつける。
ファイル名は環境に応じたファイルパスの表現を受け付ける。たとえば、Windows では “documents\\test.txt” や “test.txt” といった表記により、カレントディレクトリ📘にある documentsディレクトリ内の test.txt を開くことができる。また、受け付けられることが保証された最大長は、FILENAME_MAXマクロで定義されている。
引数mode には以下の指定のいずれかを与える。
オープンモードに現れる文字には次のような意味がある。
処理系📘によっては、これらのオープンモード名の後ろに何らかの文字列を続ける形で、独自のモードを提供していることがある。たとえば、Visual Studio では、“r, ccs=UNICODE” のような形で、Unicode (UTF-16LE) のデータを入出力できる。
オープンモードごとに、以下の表のような動作の違いがある。
x が含まれるオープンモードは、指定したファイルパスにファイルが既に存在するか、作成できない理由があるときに失敗させる(w では既存のファイルの内容が失われてしまう)。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
注意 |
FOPEN_MAXマクロで定義された数を超えてファイルを開くことはできない。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
使用例 |
実行結果(標準出力):
実行結果(hello.txt):
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
関連 |
C11 からは、安全性を高めた fopen_s関数がある。 ファイルを閉じるには fclose関数を用いる。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
解説章 | 第39章 |
本ページはアフィリエイトプログラムによる収益を得ています。
以下のリンクから商品を購入されると、Programming Place 管理者に紹介料が支払われています。
()
の前後の空白の空け方)(
の直後、)
の直前に空白を入れない)return 0;
を削除(C言語編全体でのコードの統一)
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |