Расширение переменной среды TEMP для C ++ (Windows) - PullRequest
1 голос
/ 22 января 2010

Мне нужно получить %TEMP% строку значения переменной среды на платформе Windows.

Если я пытаюсь использовать какие-либо методы (C / C ++) (getenv(),…) для получения этой переменной среды, она возвращает с “~” в этой строке.

Например: C: \ DOCUME ~ 1 \ pkp \ LOCALS ~ 1 \ Temp.

Но мне нужно получить полную строку по некоторым причинам, как показано ниже:

C: \ Documents and Settings \ pkp \ Локальные настройки \ Temp

Если кто-нибудь знает какую-либо методологию для получения этого, пожалуйста, дайте мне знать.

Ответы [ 3 ]

3 голосов
/ 22 января 2010

Звоните <a href="http://msdn.microsoft.com/en-us/library/aa364980%28VS.85%29.aspx" rel="nofollow noreferrer">GetLongPathName()</a> на короткое имя.

1 голос
/ 22 января 2010

Вы можете использовать GetTempPath , он обязывает вас включить "windows.h", но я все равно предполагаю, как это сделать, поскольку вы пишете приложение для Windows.

1 голос
/ 22 января 2010

DOCUME ~ 1 не является переменной среды. Это устаревшее соглашение об именах от DOS, которое по-прежнему поддерживается Windows для обратной совместимости. Следовательно, нечего «расширять» в смысле переменных среды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...