_putenv, _wputenv

Ortam değişkenlerini oluşturur, değiştirir veya kaldırır.Bu işlevlerin daha güvenli sürümleri mevcuttur; bkz. _putenv_s, _wputenv_s.

Önemli notÖnemli

Bu API, Windows Çalışma Zamanı'nda yürütülen uygulamalarda kullanılamaz.Daha fazla bilgi için bkz /ZW ile desteklenmeyen CRT işlevleri.

int _putenv(
   const char *envstring 
);
int _wputenv(
   const wchar_t *envstring 
);

Parametreler

  • envstring
    Ortam dizesi tanımı.

Dönüş Değeri

Başarılıysa 0, bir hata durumunda –1 döndürür.

Notlar

_putenv işlevi yeni ortam değişkenleri ekler veya varolan ortam değişkenlerinin değerlerini değiştirir.Ortam değişkenleri, bir işlemin yürütüldüğü (örneğin, bir programa bağlanacak kitaplıklara ilişkin varsayılan arama yolu) ortamı tanımlar._wputenv geniş karakterli bir _putenv sürümüdür; envstring ile ilgili biçim bağımsız değişkenler _wputenvgeniş karakterli dizelerdir.

Genel Metin Yordam Eşleşmeleri

Tchar.h yordamı

_UNICODE ve _MBCS tanımlanmaz

_MBCS tanımlanmış

_UNICODE tanımlanmış

_tputenv

_putenv

_putenv

_wputenv

envstring bağımsız değişkeninin varname=string biçiminde bir dizeye bir işaretçi olması gerekir; burada varname eklenecek veya değiştirilecek ortam değişkeninin adı, string ise değişkenin değeridir.varname zaten ortamın bir parçasıysa değeri string ile değiştirilir; aksi taktirde yeni varname değişkeni ve string değeri ortama eklenir.Boş bir string belirterek ortamdan bir değişkeni kaldırabilirsiniz — diğer bir deyişle, yalnızca varname= belirterek.

_putenv ve _wputenv yalnızca geçerli işlemin yerel olduğu ortamı etkiler, bu öğeleri komut düzeyindeki ortamı değiştirmek için kullanamazsınız.Yani bu işlevler işletim sistemi tarafından bir işlem için oluşturulan ortam dilimi üzerinde değil yalnızca çalışma zamanı kitaplığının erişilebildiği veri yapıları üzerinde işlem yapar.Geçerli işlem sonlandırıldığında, ortam, çağırma işleminin düzeyine (çoğu durumda, işletim sistemi düzeyi) geri döndürür.Ancak değiştirilmiş ortam _spawn, _exec veya system tarafından oluşturulan yeni süreçlere geçirilebilir ve bu yeni süreçler de _putenv ve _wputenv tarafından eklenen yeni öğeleri alır.

Doğrudan bir ortam girdisini değiştirmeyin: bunun yerine değiştirmek için, _putenv veya _wputenv kullanın.Özellikle, _environ[] genel dizisinin doğrudan serbest öğeleri hedeflenen geçersiz belleğe neden olabilir.

getenv ve _putenv, ortam tablosuna erişmek için _environ genel değişkenini kullanır; _wgetenv ve _wputenv ise _wenviron kullanır._envp bağımsız değişkenini main öğesine karşı ve _wenvp bağımsız değişkenini wmain öğesine karşı geçersiz kılarak _putenv ve _wputenv öğeleri _environ ve _wenviron öğelerinin değerini değiştirebilir.Bu nedenle, ortam bilgilerine erişmek için, _environ veya _wenviron kullanmak daha güvenlidir._putenv ve _wputenv öğelerinin genel değişkenlerle olan ilişkisi hakkında daha fazla bilgi için, bkz. _environ, _wenviron.

[!NOT]

_putenv ve _getenv işlev aileleri iş parçacığı olarak güvenli çalışmaz._putenv dizeyi değiştirip, rastgele hatalara sebep olurken, _getenv dize işaretçisini döndürür.Bu işlevlere aramaların eşitlendiğinden emin olun.

Gereksinimler

Yordam

Gerekli başlık

_putenv

<stdlib.h>

_wputenv

<string.h> veya <wchar.h>

Daha fazla ek uyumluluk bilgileri için bkz. Uyumluluk.

Örnek

Nasıl kullanılacağını gösteren bir örnek için _putenv , bkz: getenv, _wgetenv.

.NET Framework Eşdeğeri

Uygulanamaz. Standart C işlevini çağırmak için PInvoke kullanın. Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

Ayrıca bkz.

Başvuru

Süreç ve Ortam Denetimi

getenv, _wgetenv

_searchenv, _wsearchenv