Windows で C コード (C++ や C# ではない) から一意の一時ディレクトリを作成したいと考えています。これを実行して、いくつかの一時ファイルをディレクトリに配置し、完了したらそれらをすべて簡単に削除できるようにします (ディレクトリを再帰的に削除することにより)。
私は基本的に、Linux
mkdtemp
機能に相当するものを探しています。ここにC# の回答があり、この質問に対する回答
は Boost の使用を提案しています。しかし、私は C を使用しているため、これらのソリューションはうまくいきません。
これまでに思いついた最善の方法は、に
GetTempFileName
続けて使用するCreateDirectory
ことですが、問題は
GetTempFileName
、一意のファイル名を作成するように要求すると、ファイルも作成されることです(これは望ましくないため、代わりにディレクトリを作成したい)。
関連して、
GetTempPath
環境変数からユーザーの一時フォルダーの場所を返す がありますが、後で安全に削除できる独自のディレクトリを作成したいので、返されるパス内にディレクトリを作成する必要があります。
一意のディレクトリを作成したい場合は、一時ファイルを作成し、名前を取得して削除し、同じ名前のディレクトリを作成する必要があるようです。これは非常に面倒です。他のアイデアはありますか?