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