fopen_s
stdio.h:インデックス への移動
ヘッダー ファイル
stdio.h
カテゴリ
ファイル アクセス関数
プロトタイプ
errno_t fopen_s(FILE * restrict * restrict streamptr, const char * restrict filename, const char * restrict mode);
説明
ストリームを開きます。
fopen_s は、filename で指定されたファイルを開き、それにストリームを関連付けます。fopen は、後続の操作でストリームを識別するためのポインタを返します。
fopen の呼び出しで使用されるモード文字列は、以下の値のいずれかです。
値 | 説明 |
---|---|
uw |
ファイルを長さゼロに切り詰めるか、デフォルトのアクセス権で書き込み専用にテキスト ファイルを作成します。 |
ua |
追加書き込みします。デフォルトのアクセス権でファイル終端(EOF)への書き込み専用にテキスト ファイルを開くまたは作成します。 |
uwb |
ファイルを長さゼロに切り詰めるか、デフォルトのアクセス権で書き込み専用にバイナリ ファイルを作成します。 |
uab |
追加書き込みします。デフォルトのアクセス権でファイル終端(EOF)への書き込み専用にバイナリ ファイルを開くまたは作成します。 |
uw+ |
ファイルを長さゼロに切り詰めるか、デフォルトのアクセス権で更新専用にテキスト ファイルを作成します。 |
ua+ |
追加書き込みします。デフォルトのアクセス権で更新用およびファイル終端(EOF)への書き込み用にテキスト ファイルを開くまたは作成します。 |
uw+b または uwb+ |
ファイルを長さゼロに切り詰めるか、デフォルトのアクセス権で更新専用にバイナリ ファイルを作成します。 |
ua+b または uab+ |
追加書き込みします。デフォルトのアクセス権で更新用およびファイル終端(EOF)への書き込み用にバイナリ ファイルを開くまたは作成します。 |
オペレーティング システムでサポートされている場合、書き込み専用に開かれたファイルは、ファイルへの同時書き込みを避けるため共有アクセスされません。 さらに、オペレーティング システムでサポートされている場合、u 以外で始まるモード文字列のファイルは、所有者がプログラムの実行元のユーザーに設定され、他のユーザーには使用できません。 モード文字列が u で始まる場合は、ファイルにはデフォルトのファイル アクセス権が設定されます。
ファイルが正常に開かれた場合は、そのファイルのファイル ポインタ値が streamptr パラメータに設定され、そうでない場合は NULL ポインタが streamptr に設定されます。
戻り値
正常に終了した場合、fopen_s はゼロを返し、そうでない場合はゼロでない値を返します。
例
/* Program to create backup of a file */ #include <stdio.h> int main(void) { FILE *in, *out; in = new FILE; if (fopen_s(&in, "TESTFILE.DAT", "rt")){ fprintf(stderr, "Cannot open input file.\n"); return 1; } if (fopen_s(&out, "TESTFILE.BAK", "wt")){ fprintf(stderr, "Cannot open output file.\n"); return 1; } while (!feof(in)){ fputc(fgetc(in), out); } fclose(in); fclose(out); return 0; }
移植性
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
fopen_s |
+ |
+ |
+ |
+ |