gpt4 book ai didi

c - 在 Windows 上生成带有 .ico 扩展名的临时文件名

转载 作者:行者123 更新时间:2023-11-30 18:49:41 25 4
gpt4 key购买 nike

我希望使用 Windows C API 生成一个以扩展名 .ico 结尾的临时文件名。

我尝试使用 GetTempFileName 但无法控制扩展。

最佳答案

您想要使用 GetTempFileName 的唯一原因是的,因为它保证生成唯一的文件名。附加任意扩展会破坏该不变性,因此这不是解决方案。

因此您需要一个能够生成唯一文件名的解决方案。使用 GUID 的字符串表示形式是实现该目的的常用方法:

std::wstring GetUniqueFileName( const std::wstring& extension = std::wstring() ) {
GUID guid{ 0 };
_com_util::CheckError( ::CoCreateGuid( &guid ) );
wchar_t buffer[39];
if ( !::StringFromGUID2( guid, buffer, sizeof( buffer ) / sizeof( *buffer ) ) ) {
throw std::runtime_error( "StringFromGUID2() failed." );
}
std::wstring retVal{ buffer };
retVal += extension;
return retVal;
}

关于c - 在 Windows 上生成带有 .ico 扩展名的临时文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42167035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com