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