_putenv, _wputenv
Tworzy, modyfikuje lub usuwa zmienne środowiskowe.Bezpieczniejsze wersje te funkcje są dostępne; see _putenv_s, _wputenv_s.
Ważne |
---|
Ten interfejs API nie można używać w aplikacji, których wykonywanie w czasie wykonywania systemu Windows.Aby uzyskać więcej informacji, zobacz CRT funkcje nie obsługiwane przez /ZW. |
int _putenv(
const char *envstring
);
int _wputenv(
const wchar_t *envstring
);
Parametry
- envstring
Definicja ciągów środowiska.
Wartość zwracana
Zwraca 0 w przypadku powodzenia lub -1 w przypadku błędu.
Uwagi
_putenv Funkcja dodaje nowe zmienne środowiskowe lub modyfikuje wartości istniejących zmiennych środowiskowych.Zmienne środowiskowe definiują środowisko, w którym proces wykona (na przykład domyślna ścieżka biblioteki muszą być połączone z programem)._wputenvjest ona szerokich znaków do _putenv; envstring argument _wputenv jest ciągiem szerokich znaków.
Tekst rodzajowy rutynowych mapowania
Rozpoczęto wykonywanie procedury TCHAR.h |
_UNICODE i _MBCS nie zdefiniowany |
_MBCS, definicja |
_UNICODE, definicja |
---|---|---|---|
_tputenv |
_putenv |
_putenv |
_wputenv |
envstring Argument musi być wskaźnik do ciąg w postaci varname=string, gdzie varname jest nazwą zmiennej środowiskowej, które mają być dodane lub zmodyfikowane i string jest wartość zmiennej.Jeśli varname jest już częścią środowiska naturalnego, jego wartość jest zastąpiony przez string; w przeciwnym razie nowy varname zmienną i jej string wartości są dodawane do środowiska naturalnego.Można usunąć zmienną ze środowiska przez określenie pustego string — innymi słowy, określając tylko varname=.
_putenvi _wputenv wpływu na środowisko, która jest lokalnym dla bieżącego procesu; Nie można używać ich do modyfikowania środowiska poziomie polecenia.Oznacza to funkcje te działają tylko na dostępne dla biblioteki uruchomieniowej struktur danych, a nie na segmentu środowiska naturalnego, utworzona dla procesu przez system operacyjny.Gdy bieżący proces kończy działanie, środowiska naturalnego zostanie przywrócona do poziomu procesu wywołującego (w większości przypadków, poziom systemu operacyjnego).Jednak środowiska zmodyfikowanych mogą być przekazywane w taki sposób, aby jakiekolwiek nowe procesy utworzone przez _spawn, _exec, lub system, i tych nowych procesów uzyskać wszelkie nowe pozycje dodawane przez _putenv i _wputenv.
Nie należy zmieniać wpis środowiska bezpośrednio: korzystaj z _putenv lub _wputenv to zmienić.W szczególności, bezpośrednie zwalnianiu elementy _environ[] globalnej tablicy może doprowadzić do nieprawidłowej pamięci poważnym brakiem.
getenvi _putenv używać tej zmiennej globalnej _environ dostępu do tabeli środowiska; _wgetenvand _wputenv use _wenviron._putenvi _wputenv może zmienić wartość _environ i _wenviron, tak więc unieważnienia _envp argument main i _wenvp argument wmain.Dlatego też bezpieczniejsze w użyciu _environ lub _wenviron do dostępu do informacji o środowisku.Aby uzyskać więcej informacji o relacji z _putenv i _wputenv do zmiennych globalnych, zobacz zmienna _environ, _wenviron.
[!UWAGA]
_putenv i _getenv rodziny funkcji nie są wątków._getenvmógł zwrócić wskaźnik ciąg podczas _putenv modyfikuje się ciągiem znaków, co powoduje losowe błędy.Upewnij się, że wywołania tych funkcji są synchronizowane.
Wymagania
Rozpoczęto wykonywanie procedury |
Wymaganego nagłówka |
---|---|
_putenv |
<stdlib.h> |
_wputenv |
<stdlib.h> lub <wchar.h> |
Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.
Przykład
Przykładowe sposoby korzystania _putenv, zobacz getenv, _wgetenv.
Odpowiednik w programie .NET Framework
Nie dotyczy. Aby wywoływać funkcji C standardowej, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.