Как читать из env в Windows в c ++ - PullRequest
0 голосов
/ 01 июля 2010

Я хочу получить системную папку в Windows, прочитав SystemRoot. Как мне это сделать? большое спасибо!

Ответы [ 3 ]

3 голосов
/ 01 июля 2010

Если вы хотите прочитать переменные окружения, используйте getenv или GetEnvironmentVariable .

Однако, если вы хотите найти каталог %SYSTEMROOT%, рассмотрите возможность использования GetWindowsFolder


Для других специальных папок вы можете использовать SHGetKnownFolderPath или SHGetFolderPath

1 голос
/ 01 июля 2010

Есть Windows API, который вы должны использовать вместо: GetWindowsDirectory

Но если вы действительно хотите читать из среды, вы можете использовать GetEnvironmentVariable или из Cвремя выполнения с getenv или даже получить указатель среды из неофициального третьего основного аргумента int main(argc, argv, envp), который поддерживается средой выполнения VC.

0 голосов
/ 01 июля 2010

Это должно быть довольно просто с GetEnvironmentVariable ():

DWORD WINAPI GetEnvironmentVariable(
  __in_opt   LPCTSTR lpName,
  __out_opt  LPTSTR lpBuffer,
  __in       DWORD nSize
);

См. MSDN на GetEnvironmentVariable () для получения дополнительной информации и некоторых примеров (функция используется в Примере 2)

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