文法:
#include <cstdio> FILE *fopen( const char *ファイル名, const char *モード );
fopen()関数は、指定されたファイル名のファイルを開き、そのファイルに関連づけられたストリームを返します。モードは、入力、出力など、どのようにファイルを扱うのかを決定するのに使用します。
エラーが発生すると、fopen()関数はNULLを返します。
| モード | 意味 | 既に存在する場合 | 存在しない場合 |
|---|---|---|---|
| “r” | 読み込み用にファイルを開く | 読み込み開始 | エラー |
| “w” | 書き出し用にファイルを作成 | 既存の内容は破壊 | 新規作成 |
| “a” | 既存のファイルに追記 | 終端に追記 | 新規作成 |
| “r+“ | 読み込み/書き出し用にファイルを開く | 読み込み開始 | エラー |
| “w+“ | 書き出し/書き出し用にファイルを作成 | 既存の内容は破壊 | 新規作成 |
| “a+“ | 読み込み/書き出し用にファイルを開く | 終端に追記 | 新規作成 |
Windowsの場合には、バイナリモードを意味する”b”フラグを、モードに追加することができます。このフラグはPOSIXシステム(Linuxを含む)では無視されます。そのため、バイナリファイルを扱う場合には、常に設定しておく方が安全です。
サンプル:
int ch; FILE *input = fopen( "stuff", "r" ); ch = getc( input );
関連トピック: fclose, fflush, fgetc, fputc, fread, freopen, fseek, fwrite, getc, getchar, setbuf