Aracılığıyla paylaş


_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ı yürütülen uygulamalarda kullanılamaz. Daha fazla bilgi için bkz. Evrensel Windows Platformu uygulamalarında desteklenmeyen CRT işlevleri.

Sözdizimi

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

Parametreler

envstring
Ortam dizesi tanımı.

Dönüş değeri

İşlevler başarılı olursa 0 veya hata varsa -1 döndürür.

Açıklamalar

_putenv işlevi yeni ortam değişkenleri ekler veya mevcut ortam değişkenlerinin değerlerini değiştirir. Ortam değişkenleri, bir işlemin yürütüldiği ortamı tanımlar (örneğin, bir programla ilişkilendirilecek kitaplıklar için varsayılan arama yolu). _wputenv , öğesinin _putenvgeniş karakterli bir sürümüdür; envstring bağımsız değişkeni _wputenv geniş karakterli bir dizedir.

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Genel metin yordamı eşlemeleri

Tchar.h Rutin _UNICODE and _MBCS tanımlanmadı _MBCS Tanımlanan _UNICODE Tanımlanan
_tputenv _putenv _putenv _wputenv

envstring Bağımsız değişken, eklenecek veya değiştirilecek value_string ortam değişkeninin adı ve değişkenin değeri olan form varname=value_stringvarname dizesinin işaretçisi olmalıdır. Ortamın zaten bir parçasıysa varname değeri ile value_stringdeğiştirilir; aksi takdirde, yeni varname değişken ve value_string değeri ortama eklenir. Boş value_stringbir veya başka bir deyişle yalnızca varname= belirterek bir değişkeni ortamdan kaldırabilirsiniz.

_putenv ve _wputenv yalnızca geçerli işlemde yerel olan ortamı etkiler; bunları komut düzeyi ortamını değiştirmek için kullanamazsınız. Yani, bu işlevler yalnızca çalışma zamanı kitaplığı tarafından erişilebilen veri yapılarında çalışır. İşletim sistemi tarafından bir işlem için oluşturulan ortam kesiminde çalışmazlar. Geçerli işlem sonlandırıldığında ortam, çağrı işleminin düzeyine (çoğu durumda işletim sistemi düzeyi) geri döner. Ancak, değiştirilen ortam , _execveya systemtarafından _spawnoluşturulan tüm yeni işlemlere geçirilebilir ve bu yeni işlemler ve _wputenvtarafından _putenv eklenen tüm yeni öğeleri alır.

Ortam girdisini doğrudan değiştirmeyin: bunun yerine, _putenv veya _wputenv kullanarak değiştirin. Özellikle, genel dizinin doğrudan boşaltma öğeleri geçersiz belleğin _environ[] ele alınmasına neden olabilir.

_getenvortam _putenv tablosuna _wgetenv erişmek için genel değişkeni _environ kullanın ve _wputenv kullanın_wenviron. _putenvve _wputenv ve değerini _environ_wenvirondeğiştirebilir, böylece bağımsız değişkeni main_wenvp ve olarak geçersiz kılınabilir _envpwmain. Bu nedenle, ortam bilgilerini kullanmak _environ veya _wenviron erişmek daha güvenlidir. ve ile genel değişkenler arasındaki ilişki _putenv hakkında daha fazla bilgi için bkz_environ. , _wenviron._wputenv

Dekont

_putenv ve _getenv işlev aileleri iş parçacığı açısından güvenli değildir. _getenv dizeyi değiştirirken _putenv bir dize işaretçisi döndürebilir ve rastgele hatalara neden olabilir. Bu işlevlere yapılan çağrıların eşitlenmiş olduğundan emin olun.

Gereksinimler

Yordam Gerekli başlık
_putenv <stdlib.h>
_wputenv <stdlib.h> veya <wchar.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Örnek

'nin nasıl kullanılacağına _putenvilişkin bir örnek için, bkz getenv. , _wgetenv.

Ayrıca bkz.

İşlem ve ortam denetimi
getenv, _wgetenv
_searchenv, _wsearchenv