Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Membuat, memodifikasi, atau menghapus variabel lingkungan. Versi yang lebih aman dari fungsi-fungsi ini tersedia; lihat _putenv_s, _wputenv_s.
Penting
API ini tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime. Untuk informasi selengkapnya, lihat Fungsi CRT yang tidak didukung di aplikasi Platform Windows Universal.
Sintaks
int _putenv(
const char *envstring
);
int _wputenv(
const wchar_t *envstring
);
Parameter
envstring
Definisi string lingkungan.
Nilai hasil
Fungsi mengembalikan 0 jika berhasil, atau -1 jika ada kesalahan.
Keterangan
Fungsi ini _putenv menambahkan variabel lingkungan baru atau memodifikasi nilai variabel lingkungan yang ada. Variabel lingkungan menentukan lingkungan tempat proses dijalankan (misalnya, jalur pencarian default untuk pustaka yang akan ditautkan dengan program). _wputenv adalah versi karakter luas dari _putenv; envstring argumen ke _wputenv adalah string karakter lebar.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Pemetaan rutin teks generik
Tchar.h Rutin |
_UNICODE and _MBCS tidak ditentukan |
_MBCS Didefinisikan |
_UNICODE Didefinisikan |
|---|---|---|---|
_tputenv |
_putenv |
_putenv |
_wputenv |
Argumen envstring harus berupa penunjuk ke string formulir varname=value_string, di mana varname adalah nama variabel lingkungan yang akan ditambahkan atau dimodifikasi dan value_string merupakan nilai variabel. Jika varname sudah menjadi bagian dari lingkungan, nilainya digantikan oleh value_string; jika tidak, variabel baru varname dan nilainya value_string ditambahkan ke lingkungan. Anda dapat menghapus variabel dari lingkungan dengan menentukan kosong value_string, atau dengan kata lain, dengan hanya varnamemenentukan =.
_putenv dan _wputenv hanya memengaruhi lingkungan yang lokal untuk proses saat ini; Anda tidak dapat menggunakannya untuk memodifikasi lingkungan tingkat perintah. Artinya, fungsi-fungsi ini hanya beroperasi pada struktur data yang dapat diakses oleh pustaka run-time. Mereka tidak beroperasi pada segmen lingkungan yang dibuat untuk proses oleh sistem operasi. Ketika proses saat ini berakhir, lingkungan kembali ke tingkat proses panggilan (dalam kebanyakan kasus, tingkat sistem operasi). Namun, lingkungan yang dimodifikasi dapat diteruskan ke proses baru apa pun yang dibuat oleh _spawn, , _execatau system, dan proses baru ini mendapatkan item baru yang ditambahkan oleh _putenv dan _wputenv.
Jangan mengubah entri lingkungan secara langsung: sebagai gantinya, gunakan _putenv atau _wputenv untuk mengubahnya. Secara khusus, elemen bebas langsung dari _environ[] array global dapat menyebabkan memori yang tidak valid ditangani.
_getenv dan _putenv gunakan variabel _environ global untuk mengakses tabel lingkungan; _wgetenv dan _wputenv menggunakan _wenviron. _putenv dan _wputenv mungkin mengubah nilai _environ dan _wenviron, sehingga membatalkan _envp argumen menjadi main dan _wenvp argumen menjadi wmain. Oleh karena itu, lebih aman untuk menggunakan _environ atau _wenviron mengakses informasi lingkungan. Untuk informasi selengkapnya tentang hubungan _putenv dan ke variabel global, lihat_environ , _wenviron._wputenv
Catatan
Keluarga _putenv fungsi dan _getenv tidak aman utas. _getenv dapat mengembalikan penunjuk string saat _putenv memodifikasi string, menyebabkan kegagalan acak. Pastikan bahwa panggilan ke fungsi-fungsi ini disinkronkan.
Persyaratan
| Rutin | Header yang diperlukan |
|---|---|
_putenv |
<stdlib.h> |
_wputenv |
<stdlib.h> atau <wchar.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Contoh
Untuk sampel cara menggunakan _putenv, lihat getenv, _wgetenv.
Lihat juga
Kontrol proses dan lingkungan
getenv, _wgetenv
_searchenv, _wsearchenv