fopen_s

提供: RAD Studio
移動先: 案内検索

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

+

+

+

+

関連項目