ファイルを開く
fopen、_wfopen
【書式】
FILE *fopen(
const char *filename,
const char *mode
);
FILE *_wfopen(
const wchar_t *filename,
const wchar_t *mode
);
【引数】
filename ファイル名
mode アクセス許可の種類。設定できる種類は「mode 文字列」を参照してください。
mode文字列には、ファイルに対して要求するアクセスモードを指定します。
modeオプションの c、n、t は fopenと_fdopenの Microsoft固有の拡張です。ANSI互換が必要な場合は使用しないようにしましょう。
【戻り値】
成功時 開いているファイルへのポインタ
失敗時 NULL のポインタ値
【機能】
fopen関数は、filenameで指定されたファイルを開きます。ワイド文字を扱う場合は、
fopenではなく _wfopenを使用します。_wfopen の場合、引数にはワイド文字列を指定します。
引数の指定以外では、_wfopenと fopenの動作は同じです。
【インクルードファイル】
fopen関数関数 stdio.h
_wfopen関数関数 stdio.h または wchar.h
【必要追加ライブラリ】
なし
使用例
〈サンプルプログラム〉
#include <stdio.h>
FILE *stream, *stream2;
int main(void)
{
int numclosed;
/* 読み込みモードでファイルをオープンします
(ファイル「crt_fopen.txt」が存在していない場合は、失敗します) */
if(NULL == (stream = fopen( "crt_fopen.txt", "r")))
{
printf("「crt_fopen.txt」を開けませんでした\n");
}
else
{
printf("「crt_fopen.txt」を開きました\n");
}
/* 書き込みモードでファイルを開きます */
if(NULL == (stream2 = fopen("data2", "w+")))
{
printf("「data2」を開けませんでした\n");
}
else
{
printf("「data2」を開きました\n");
}
/* ファイルを閉じます */
if(fclose(stream))
{
printf("「crt_fopen.txt」を閉じられませんでした\n");
}
/* 他の全てのファイルを閉じます: */
numclosed = _fcloseall( );
printf("_fcloseallによって閉じられたファイルの数: %u\n", numclosed);
return 0;
}
〈出力〉
「crt_fopen.c」を開きました 「data2」を開きました _fcloseallによって閉じられたファイルの数: 1