
fopen
書式
#include <stdio.h>
FILE *fopen(const char *filename, const char *mode);
引数
const char *filename | オープンするファイル名 |
const char *mode | モード |
モード | 動作 | ファイルが存在する時 | ファイルが存在しない時 |
---|---|---|---|
“r” | 読み出し専用 | 正常 | エラー |
“w” | 書き込み専用 | サイズを 0 にする(上書き) | 新規作成 |
“a” | 追加書き込み専用 | 最後に追加する | 新規作成 |
“r+” | 読み込みと書き込み | 正常 | エラー |
“w+” | 書き込みと読み込み | サイズを 0 にする(上書き) | 新規作成 |
“a+” | 読み込みと追加書き込み | 最後に追加する | 新規作成 |
※バイナリモードでOPENしたい場合は、”b”をつけてモード指定する。
戻り値
オープンしたストリームを制御するオブジェクトへのポインタ
※失敗の場合はNULLが返却される
サンプルコード
#include <stdio.h>
int main(int argc, char *argv[])
{
file *fp;
/* ファイルを「書き込み専用」で新規作成する */
fp = fopen("fopen_sample.txt", "w");
if( fp != null )
{ /* ファイルが生成出来た場合 */
/* ファイルに文字列を書き込む */
fprintf(fp, "shuran douji no tawagoto\n");
/* ファイルの閉じる */
fclose(fp);
}
else
{ /* ファイルが生成出来なかった場合 */
return -1;
}
/* 先ほど作ったファイルを「読み込み専用」でオープンする */
fp = fopen("fopen_sample.txt", "r");
if( fp != null )
{ /* ファイルがopen出来た場合 */
char chr;
/* ファイルの中身を1文字ずつ読み込んで、標準出力に出力する */
while((chr = fgetc(fp)) != eof) {
putchar(chr);
}
/* ファイルの閉じる */
fclose(fp);
}
else
{ /* ファイルがopen出来なかった場合 */
return -2;
}
return 0;
}
実行結果
実行ファイルと同じディレクトリに「fopen_sample.txt」が出来ていて、
ファイルの中身に”shuran douji no tawagoto”が書き込まれていれば成功
コメント