Как найти путь к рабочему столу с использованием языка Си? - PullRequest
3 голосов
/ 16 марта 2011

Может кто-нибудь сказать, пожалуйста, как я могу получить путь к рабочему столу (переменная среды) с помощью команд языка C.

Сценарий состоит в том, что я хочу сохранить файл на рабочем столе. Что я могу сделать, это просто указать фиксированный путь к рабочему столу и имя файла для сохранения файла. Но после указания этого фиксированного пути мой код станет жестким и не будет работать на любом другом компьютере с другим путем к рабочему столу (переменная среды). У меня вопрос: можно ли обобщить мой код, который может работать на любом компьютере под управлением Windows, путем захвата переменной окружения рабочего стола с использованием языка Си?

Привет

Ответы [ 2 ]

10 голосов
/ 16 марта 2011
3 голосов
/ 16 марта 2011

Вы можете использовать функцию getenv () для доступа к переменным среды:

Значение переменной среды можно получить доступ с помощью getenv функция. Это заявлено в заголовочный файл stdlib.h.

Для систем Windows, USERPROFILE будет хорошо, если вы добавите к нему \Desktop (см., Например, ссылку , предоставленную mgiuca). Обратите внимание, что в большинстве случаев путь будет содержать пробелы, поэтому обрабатывайте его соответствующим образом.

Кроме того, использование переменных среды для получения пути к папке рабочего стола не лучший способ и может не работать в некоторых случаях (см. Также другие ответы SO на эту тему, например this ), поэтому воспринимайте этот ответ как ответ на конкретный вопрос, особенно для части «переменные среды в C ++».

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