2012-01-13 14 views

Odpowiedz

17

Nie ma potrzeby zwiększenia. Użyj std::getenv z <cstdlib>, która jest standardową funkcją C++.

+0

Wygląda na to, że w trybie doładowania nie występują zmienne środowiskowe systemu przenośnego. FileSystem ma przenośne nazwy plików, ale zmienne środowiskowe nie są przenośne: Win7 ma HOMEPATH, a * NIX ma HOME, to samo dla USERNAME i USER. – Arman

+0

@Arman: przenośne wyszukiwanie homedirów jest względnie bezużyteczne, ponieważ systemy Windows i Unix mają bardzo różne konwencje dotyczące miejsca przechowywania danych specyficznych dla użytkownika. –

+0

Tak, zgadzam się, ale aby przechowywać ogólne opcje programu, warto mieć jakąś konwencję: na Linuksie zwykle programy użytkownika przechowują plik $ HOME/.myset lub Windows prawdopodobnie% userprofile% /. Myset lub coś podobnego. Dlatego lepiej mieć funkcje przenośne. – Arman

3

Prawdopodobnie potrzebujesz zwykłej funkcji c (i ++) getenv(), nie trzeba jej zwiększać.

Powiązane problemy