【C言語】一時ファイルを作成・使用する方法

この記事では、C言語で一時ファイルを作成し、利用する方法について解説します。

プログラミング初心者の方にもわかりやすく解説していますので、ぜひ参考にしてください。

目次から探す

一時ファイルの作成方法

一時ファイルを作成する方法について説明します。

C言語では、一時ファイルを作成するために、tmpfile関数を使用します。

この関数は、一時ファイルを作成し、そのファイルへのポインタを返します

以下に、tmpfile関数を使用して一時ファイルを作成するサンプルコードを示します。

#include <stdio.h>
int main() {
    FILE *tmpFile = tmpfile();  // 一時ファイルを作成
    if (tmpFile == NULL) {
        printf("一時ファイルの作成に失敗しました。\n");
        return 1;
    }
    printf("一時ファイルの作成に成功しました。\n");
    // 作成した一時ファイルを使用する処理を記述
    fclose(tmpFile);  // 一時ファイルを閉じる
    return 0;
}

上記のコードでは、tmpfile関数を呼び出して一時ファイルを作成し、その結果をtmpFileというポインタ変数に代入しています。

一時ファイルの作成に成功した場合は、tmpFileはNULLではなく、作成した一時ファイルへのポインタが格納されます。

一時ファイルの作成に失敗した場合は、tmpFileがNULLとなります。

その場合はエラーメッセージを表示し、適切なエラーハンドリングを行ってください。

一時ファイルを使用する処理が終わったら、fclose関数を使用して一時ファイルを閉じることを忘れないようにしましょう。

一時ファイルの利用方法

プログラムを実行する際に、一時的にデータを保存する必要がある場合があります。

そのような場合に便利なのが、一時ファイルの利用です。

一時ファイルは、プログラムが終了すると自動的に削除されるため、一時的なデータの保存に適しています。

ファイルへの書き込み

まずは、一時ファイルにデータを書き込む方法を見ていきましょう。

以下のサンプルコードでは、fopen関数を使用して一時ファイルを作成し、fprintf関数を使用してデータを書き込んでいます。

#include <stdio.h>
int main() {
    FILE *tempFile = tmpfile(); // 一時ファイルを作成
    if (tempFile == NULL) {
        printf("一時ファイルの作成に失敗しました。\n");
        return 1;
    }
    fprintf(tempFile, "Hello, World!"); // データを書き込む
    fclose(tempFile); // ファイルを閉じる(削除される)
    return 0;
}

上記のコードでは、tmpfile関数を使用して一時ファイルを作成しています。

次に、fprintf関数を使用して一時ファイルにデータを書き込んでいます。

fprintf関数は、指定したファイルに書式化されたデータを書き込むための関数です。

上記の例では、Hello, World!という文字列を一時ファイルに書き込んでいます。

最後に、fclose関数を使用してファイルを閉じています。

通常であれば書き込みが完了してファイルが保存されますが、tmpfile関数で作成された一時ファイルのみ、fclose関数呼び出し時、もしくはプログラムの正常終了時に自動的に削除されます。

一時ファイルは設定の保存用などには使うものではなく、一時的にメモリに収まらないデータをキャッシュする時に使用するので覚えておきましょう。

目次から探す