アダルト・ヴァイオリン May the force be with you..

2007年12月11日

unlinkの動作

Filed under: Weblog — い~ぐる @ 7:51 PM

unlinkはファイルを削除するのに使うのだけれど、VisualC++でコンパイルしたプログラムが思ったような動作をしなかった。

通常、unlinkは、自分のプロセスがファイルをオープンしていても発行することができ、その場合、ファイルは中間状態のようなほかからはリファーできない状態に置かれる。自分のプロセスがファイルをクロースした(もしくはexitした)場合には、中間状態に置かれたファイルはきれいに消えるのだ。

ところが、VisualC++ .NET ではプログラムが終了してもファイルが残ってしまう。
_WIN32だから、_unlinkなのかと変更しても同じだ。

同じプログラムをCygwinで動かしたり、Linuxで動かせば期待通りの動作をしてくれる。

むむ・・

結局、先にクロースしないと消せないのが、VisualC++的仕様らしい・・はぁ・・

Powered by WordPress