_putenv_s, _wputenv_s
Oluşturur, değiştirir veya ortam değişkenleri kaldırır. Sürümleri bunlar _putenv, _wputenv , ancak güvenlik geliştirmeleri, açıklandığı gibi crt güvenlik özellikleri.
Önemli
Bu API yürütün uygulamalarda kullanılamaz Windows Çalışma Zamanı.Daha fazla bilgi için bkz: /zw ile desteklenmeyen crt işlevlerinin.
errno_t _putenv_s(
const char *name,
const char *value
);
errno_t _wputenv_s(
const wchar_t *name,
const wchar_t *value
);
Parametreler
name
Ortam değişkeni adı.value
Ortam değişkeni ayarlanacak değer.
Dönüş Değeri
Başarılıysa 0 döndürür veya bir hata kodu.
Hata koşulları
name |
value |
Dönüş değeri |
---|---|---|
NULL |
herhangi bir |
EINVAL |
herhangi bir |
NULL |
EINVAL |
Hata durumlardan biri oluşursa, bu işlevler bir geçersiz parametre işleyicisi açıklandığı gibi çağırmak Parametre doğrulama. Yürütülmesine devam etmek için izin verilip verilmediğini, bu işlevler dönmek EINVAL ve errno için EINVAL.
Notlar
_putenv_s İşlevi yeni ortam değişkenleri ekler veya varolan ortam değişkenlerinin değerlerini değiştirir. Ortam değişkenlerini (örneğin, bir programla bağlantılı olması için kitaplıklar için varsayılan arama yolu) bir işlem yürütür ortamı tanımlamak. _wputenv_sgeniş karakter sürümü _putenv_s; envstring bağımsız değişkeni _wputenv_s bir geniş karakter dizesidir.
Genel metin eşlemeleri yordamına girildi
TCHAR.H yordamına girildi |
_UNICODE & _mbcs tanımlanmamış |
Tanımlanan _mbcs |
Tanımlanan _UNICODE |
---|---|---|---|
_tputenv_s |
_putenv_s |
_putenv_s |
_wputenv_s |
nameeklenen veya değiştirilen ortam değişkeninin adıdır ve value değişkenin değeridir. name Zaten ortamın parçası olan değeri ile değiştirilir value; Aksi halde, yeni name değişken ve kendi value ortama eklenir. Boş bir dize belirleyerek bir değişken ortamdan kaldırabilirsiniz (yani, "") için value.
_putenv_sve _wputenv_s ; geçerli işleme yerel ortamı etkiler Düzey komut ortamı değiştirmek için kullanamazsınız. Çalışma Zamanı Kitaplığı'na erişilebilir veri yapıları ve ortam için bir işlem işletim sisteminin oluşturduğu "kesim" değil, bu işlevleri çalışır. Geçerli işlemi sonlandırır, ortamı olan çoğu durumda işletim sistemi düzeyinde arama işlemi düzeyine döner. Ancak, değiştirilmiş ortam tarafından oluşturulan tüm yeni işlemleri için geçirilebilir _spawn, _exec, veya system, ve bu yeni işlemler tarafından eklenen tüm yeni öğeler _putenv_s ve _wputenv_s.
Ortam girişi doğrudan değiştirmeyin; Bunun yerine, _putenv_s veya _wputenv_s değiştirmek için. Özellikle, öğeleri doğrudan boşaltma _environ[] genel bir dizi ele alınacak geçersiz bellek neden olabilir.
getenvve _putenv_s genel değişkeni kullanmak _environ ; ortam tablo erişmek için _wgetenvand _wputenv_s use _wenviron. _putenv_sve _wputenv_s değeri değişebilir _environ ve _wenvironve böylece geçersiz kılmak envp bağımsız değişkeni main ve _wenvp bağımsız değişkeni wmain. Bu nedenle, kullanmak daha güvenli, _environ veya _wenviron ortamı bilgilere erişmek için. Arasındaki ilişki hakkında daha fazla bilgi için _putenv_s ve _wputenv_s genel değişkenler için bkz: _environ, _wenviron.
Not
_putenv_s Ve _getenv_s işlevlerinin aileleri iş parçacığı açısından güvenli değildir._getenv_sdize işaretçisi hata döndürmesine neden _putenv_s dize değiştirme ve böylece rasgele başarısız olmasına neden.Bu işlevlere olan çağrıları eşzamanlı olduğundan emin olun.
Gereksinimler
Yordamı |
Gerekli başlık |
---|---|
_putenv_s |
<stdlib.h> |
_wputenv_s |
<stdlib.h> veya <wchar.h> |
Ek uyumluluk bilgileri için bkz: Uyumluluk.
Örnek
Nasıl kullanılacağını gösteren bir örnek için _putenv_s, bkz: getenv_s, _wgetenv_s.
.NET Framework Eşdeğeri
Yoktur. Standart c işlevi çağırmak için kullanın PInvoke. Daha fazla bilgi için bkz. Platform Çağırma örnekleri.