Cライブラリ関数 -fopen()
説明
Cライブラリ関数FILE *fopen(const char *filename, const char *mode)指定されたモードを使用するmode開くfilename指すファイル。
宣言
以下は fopen() 関数の宣言です。
FILE *fopen(const char *filename, const char *mode)
引数
- filename-- 開くファイルの名前を表す文字列。
- mode-- ファイルのアクセスモードを表す文字列。以下の表の値を使用できます。
| モード | 説明 |
|---|---|
| "r" | 読み取り用にファイルを開きます。ファイルが存在している必要があります。 |
| "w" | 書き込み用の空ファイルを作成します。ファイル名が既存のファイルと同じ場合は、既存のファイルの内容が削除され、ファイルは新しい空ファイルとみなされます。 |
| "a" | ファイルに追記します。書き込み操作はファイルの末尾にデータを追加します。ファイルが存在しない場合は、ファイルを作成します。 |
| "r+" | 更新用のファイルを開きます。読み取りも書き込みもできます。ファイルが存在している必要があります。 |
| "w+" | 読み書き用の空ファイルを作成します。 |
| "a+" | 読み取りと追記用のファイルを開きます。 |
戻り値
この関数は FILE ポインタを返します。それ以外の場合は NULL を返し、エラーを示すためにグローバル変数 errno を設定します。
例
以下の例は、fopen() 関数の使い方を示しています。
例
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE * fp;
fp = fopen ("file.txt", "w+");
fprintf(fp, "%s %s %s %d", "We", "are", "in", 2014);
fclose(fp);
return(0);
}
上記のプログラムをコンパイルして実行してみましょう。次の内容を含むファイルが作成されます。file.txt:
We are in 2014
次に、以下のプログラムを使用して上記のファイルの内容を表示してみましょう。
#include <stdio.h>
int main ()
{
FILE *fp;
int c;
fp = fopen("file.txt","r");
while(1)
{
c = fgetc(fp);
if( feof(fp) )
{
break ;
}
printf("%c", c);
}
fclose(fp);
return(0);
}
その他の拡張
C標準ライブラリ - <stdio.h>