トップページ – 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で書く |
|
|
管理者情報 | プライバシーポリシー |