C言語 一時ファイル(テンポラリファイル)の作成 - stdio.h - [ tmpfile ]

2008.10.01 Wednesday | by LRESULT


ンポラリファイル(一時ファイル)を作成するには、tmpfile()を使います。

一時ファイルとは、プログラム内で作業用に使う為のファイルで、
fclose()が呼ばれるか、プログラムが終了した際に自動で破棄されます。
作成時には、バイナリ読み書きモード "wb+" で開かれます。

malloc()などで大量にメモリを確保する必要が無く、
データのサイズが一定でない場合には、一時ファイルが有効です。


tmpfile
書式 FILE *tmpfile( void )
機能 一時ファイル(テンポラリファイル)の作成
引数 なし
戻り値 成功すると、一時ファイルポインタを返し、
失敗すると、NULLを返します。





サンプルコード
一時ファイルを作成し、一時ファイルへ文字列を書き込んだ後、
その文字列を読み込んで表示してみます。
#include <stdio.h>

int main(void)
{
  FILE *fp;
  char buf[100];
  char *str = "Hello TempFile !¥nテンポラリファイルテスト";

  fp = tmpfile();
  if( fp == NULL ){
  printf( "一時ファイル作成に失敗しました¥n" );
    return -1;
  }
  else{
    printf( "一時ファイルを作成しました¥n¥n" );
  }

  fputs( str, fp );  /* 一時ファイルに文字列を書き込む */
  rewind( fp );     /* ファイル位置を先頭に戻す */

  /* 一時ファイルから文字列を読み込む */
  while( fgets( buf, 100, fp ) != NULL ){
    printf( "%s", buf );
  }

  fclose( fp );
  return 0;
}



結果
Hello TempFile !
テンポラリファイルテスト
と、表示されます。
このように結構簡単に作成できて、データを覚えさせておくのには有効です。

ちなみに、書き込んだ後はファイル位置が終端に移動している為、
rewind()で、先頭に戻してからファイルの読み込みを行います。

カテゴリ:C言語 stdio.h | 21:53 | comments(0) | trackbacks(0) | -


コメントする











この記事のトラックバックURL

http://simd.jugem.jp/trackback/60

トラックバック