Я хотел бы создать уникальный временный каталог в Windows из некоторого C
код (не C ++ или C #). Я хочу сделать это, чтобы я мог поставить некоторую временную
файлы в каталоге, а затем удалить их все легко, когда я закончу
(путем рекурсивного удаления каталога).
Я, по сути, ищу эквивалент Linux
mkdtemp
функция. Здесь есть ответ C # здесь , а ответы на это
вопрос
предложить использовать Boost. Но так как я использую C, эти решения не работают
для меня.
Лучшее, что я смог придумать, это использовать
GetTempFileName
затем CreateDirectory
,
но проблема в том, что если я спрошу
GetTempFileName
чтобы создать уникальное имя файла, он также создаст файл (который я
не хочу, так как вместо этого я хочу создать каталог).
Соответственно, есть
GetTempPath
,
которая возвращает местоположение временной папки пользователя из окружения
переменные - но так как я хочу создать свой собственный каталог, который я могу
безопасно удалить позже, мне все еще нужно создать каталог внутри любого
путь, по которому он вернется.
Похоже, что если я хочу создать уникальный каталог, мне придется
создать временный файл, получить имя, удалить его, а затем создать
каталог с тем же именем - что звучит очень грязно.
Есть другие идеи?