我可以为unicode文件名生成8.3文件名,并使用该字符串的char来在Windows中打开fstream
吗?
我知道MSVC ++为wchar_t*
提供了fstream
重载,但是GCC的libstdc ++没有提供这个:(,所以我需要一个替代方案。我不想创建自己的streambuf类只是对此,因为它似乎有点矫枉过正。
答案 0 :(得分:3)
您可以利用Windows API函数GetShortPathName
为您提供短名称。您无法在算法上“计算”名称,因为任意长名称和短名称之间没有一对一的对应关系,我认为您不能避免使用Windows API进行翻译。