Udostępnij za pośrednictwem


_putenv, _wputenv

Tworzy, modyfikuje lub usuwa zmienne środowiskowe.Bezpieczniejsze wersje te funkcje są dostępne; see _putenv_s, _wputenv_s.

Ważna uwagaWaż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.

Zobacz też

Informacje

Proces i kontroli środowiska

getenv, _wgetenv

_searchenv, _wsearchenv