fopen

[機能]

  指定したストリームをオープンします.オープンに成功するとオープンされているファイルへのポインタを返し,エラーが発生すると NULL ポインタを返します.

[形式]
#include <stdio.h>

FILE *fopen(const char *file, const char *mode)
	file : オープンするファイル名
	mode : 許可されるアクセスの形
		"r"  : 読み出しモードでオープンします.ファイルが存在しないとエ
		       ラーになります.
		"w"  : 書き込みモードでオープンします.ファイルが存在すると,そ
		       の内容は破壊されます.
		"a"  : ファイルの終端への追加モードでオープンします.ファイルが
		       存在しない場合は,作成されます.
		"r+" : 読み出しと書き込みモードでオープンします.ファイルが存在
		       しないとエラーになります.
		"w+" : 読み出しと書き込みモードで空のファイルをオープンします.
		       ファイルが存在すると,その内容は破壊されます.
		"a+" : 読み出しと追加モードでオープンします.ファイルが存在しな
		       い場合は,作成されます.	
[使用例]

  1. ファイルのオープンとクローズ
    #include <stdio.h>
    
    int main()
    {
    	long x,y;
    	FILE *stream;
    
    	x = 10;
    	y = 20;
    /*
    		 ファイルのオープンとデータの出力
    */
    	if ((stream = fopen("data","w")) == NULL)
    		printf("The file 'data' was not opend\n");
    	else
    		printf("The file 'data' was opend for output\n");
    	fprintf(stream, "%ld %ld\n", x, y);
    /*
    		 ファイルのクローズ
    */
    	if(fclose(stream))
    		printf("The file 'data' was not closed\n");
    	else
    		printf("The file 'data' was closed\n");
    /*
    		 ファイルのオープンとデータの入力
    */
    	if ((stream = fopen("data","r")) == NULL)
    		printf("The file 'data' was not opend\n");
    	else
    		printf("The file 'data' was opend for input\n");
    	fscanf(stream,"%ld %ld\n", &x, &y);
    
    	printf("x = %ld,   y = %ld\n", x, y);
    
    	return 0;
    }
    			
    (出力)
    The file 'data' was opend for output
    The file 'data' was closed
    The file 'data' was opend for input
    x = 10,   y = 20			
[参照]

fclose, fflush, freopen, open, close, setvbuf

菅沼ホーム 本文目次 演習問題解答例 付録目次 索引