C++の関数の削除とリンク解除の違いは何ですか?
(Chrisによって指摘されたように)unlinkがunix固有であるという事実は別として、POSIXマニュアルを読みます:
パスがディレクトリを指定しない場合、remove(path)はunlink(path)と同等です。パスがディレクトリを指定している場合、remove(path)はrmdir(path)と同等です。
ディレクトリ渡しのunlink
については、次のように読みます。
プロセスが適切な特権を持ち、実装がディレクトリでのunlink()の使用をサポートしている場合を除いて、パス引数はディレクトリを指定してはなりません。 (...)アプリケーションは、ディレクトリを削除するためにrmdir()を使用する必要があります。
remove
は移植可能で、unlink
はUnix固有です。 :-P
remove()
関数は、パスで指定されたファイルまたはディレクトリを削除します。
Pathがディレクトリを指定している場合、remove(path)
はrmdir(path)
と同等です。それ以外の場合は、unlink(path)
と同等です。
から:man remove
。
幸運を ;)
unlinkはunix固有のものではありません。なぜ人々がそう言っているのかはわかりません。 io.hを参照してください。あなたはおそらく次のようなことをしなければならないでしょうが
#define unlink _unlink
http://msdn.Microsoft.com/en-us/library/1c3tczd6%28v=VS.100%29.aspx
http://msdn.Microsoft.com/en-us/library/2da4hk1d%28v=VS.100%29.aspx