😸

[C] tmpfile 関数

に公開

機能

一時ファイルを作成し、そのファイルへのファイルポインタを返す関数です。[1]

使用例

一時ファイルに書き込みました。\n と表示する

\n は改行を表す エスケープシーケンス[2]

コード

FILE *fp = tmpfile();
fputs("一時ファイルに書き込みました。\n", fp);
rewind(fp);
char buf[64];
fgets(buf, sizeof(buf), fp);
printf("%s", buf);
全文
#include <stdio.h>
void main() {
    FILE *fp = tmpfile();
    fputs("一時ファイルに書き込みました。\n", fp);
    rewind(fp);
    char buf[64];
    fgets(buf, sizeof(buf), fp);
    printf("%s", buf);
}

実行結果

一時ファイルに書き込みました。

変数で作った文字列が一時ファイルから読まれる\n を変数から表示する

コード

FILE *fp = tmpfile();
const char *str = "変数で作った文字列が一時ファイルから読まれる\n";
fputs(str, fp);
rewind(fp);
char buf[128];
fgets(buf, sizeof(buf), fp);
printf("%s", buf);
全文
#include <stdio.h>
void main() {
    FILE *fp = tmpfile();
    const char *str = "変数で作った文字列が一時ファイルから読まれる\n";
    fputs(str, fp);
    rewind(fp);
    char buf[128];
    fgets(buf, sizeof(buf), fp);
    printf("%s", buf);
}

実行結果

変数で作った文字列が一時ファイルから読まれる
脚注
  1. ディスク上にファイル名を持たない一時的なファイルが作られます。プログラム終了か fclose で自動的に削除されます。 ↩︎

  2. 改行やタブなど、画面に表示されない制御文字のこと。 ↩︎

Discussion