Имеются ввиду системная папка Temp в WINDOWS\ и Application Data (%APPDATA%)
Ответ
%APPDATA% можно получить, например, функцией SHGetFolderPath или getenv из стандартной библиотеки, %TEMP% для текущего пользователя - GetTempPath или та же getenv, а вот для получения системной папки %TEMP% придётся использовать функцию ExpandEnvironmentStringsForUser
#include
#include
int main()
{
TCHAR szPath[MAX_PATH];
char* path;
if(SUCCEEDED(SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, szPath))) {
std::cout << "%APPDATA% (SHGetFolderPath) = " << szPath << std::endl;
}
path = getenv("APPDATA");
if (path != NULL) {
std::cout << "%APPDATA% (getenv) = " << path << std::endl;
}
if (GetTempPath(MAX_PATH, szPath)) {
std::cout << "User's %TEMP% (GetTempPath) = " << szPath << std::endl;
}
path = getenv("TEMP");
if (path != NULL) {
std::cout << "User's %TEMP% (getenv) = " << path << std::endl;
}
if (ExpandEnvironmentStringsForUser(NULL, "%TEMP%", szPath, MAX_PATH)) {
std::cout << "System's %TEMP% = " << szPath << std::endl;
}
return 0;
}
Для использования ExpandEnvironmentStringsForUser нужно дополнительно прилинковаться к Userenv.dll
Комментариев нет:
Отправить комментарий