Как импортировать homepath в программу c, используя gcc - PullRequest
1 голос
/ 16 сентября 2008

Я использую gcc для windows . ОС - Windows XP . Как импортировать переменную homepath в мою программу на c, чтобы я мог написать в c: \% homepath% \ desktop? Я хотел бы использовать что-то похожее на:

fd = fopen("C:\\%%homepath%%\\desktop\\helloworld.txt","w");

Ответы [ 3 ]

1 голос
/ 16 сентября 2008

Используйте getenv("homepath"), чтобы получить значение переменной среды. Вы должны обработать случай, в котором переменная не была определена (getenv возвращает NULL в этом случае).

Для составления пути используйте sprintf

char * homepath = getenv("homepath");

if(homepath == null) {
    /* variable HOMEPATH has not been defined */ 
}

sprintf(path,"%s\\desktop\\helloworld.txt",homepath);

Вы должны сделать путь достаточно большим, чтобы вместить значения homepath и \\desktop\\helloworld.txt.

Также обратите внимание на использование \\ в строке. Вы не можете использовать один \.

1 голос
/ 16 сентября 2008

Используйте getenv () для получения значения переменной окружения, затем используйте sprintf или strcat для составления пути.

0 голосов
/ 19 сентября 2008

Примечание: вам также нужно получить значение HOMEDRIVE и добавить его к HOMEPATH. Во многих корпоративных средах домашние каталоги хранятся на больших сетевых устройствах или серверах.

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