_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 |
---|
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.