[サンプルコード付き]C言語 ファイル操作関数 fopen

fopen

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”が書き込まれていれば成功

コメント

タイトルとURLをコピーしました