Как изменить поведение std::filesystem::temp_directory_path(), возвращая путь с псевдонимом 8.3 в Windows
С помощью temp_directory_path()
из std::experimental::filesystem
в Visual Studio 2015:
#include <iostream>
#include <experimental/filesystem>
namespace fs = std::experimental::filesystem;
int main() {
std::cout << fs::temp_directory_path().generic_string() << std::endl;
std::cout << fs::temp_directory_path() << std::endl;
}
Выход:
C:/Users/ADMINI~1/AppData/Local/Temp/
C:\Users\ADMINI~1\AppData\Local\Temp\
Можно ли получить полный путь C:/Users/Administrator/AppData/Local/Temp/
вместо 8.3 псевдоним?
Используя Visual C++, fs::temp_directory_path()
звонки например _Temp_get(wchar_t (&)[_MAX_FILESYS_NAME])
в C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\filesystem
, Однако источник этой функции, по-видимому, недоступен.