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. Fungsi-fungsi ini adalah versi _putenv, _wputenv yang memiliki peningkatan keamanan, seperti yang dijelaskan dalam Fitur keamanan di CRT.
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.
Untuk _tputenv_s, lihat Pemetaan fungsi teks generik.
Sintaks
errno_t _putenv_s(
const char *varname,
const char *value_string
);
errno_t _wputenv_s(
const wchar_t *varname,
const wchar_t *value_string
);
Parameter
varname
Nama variabel lingkungan.
value_string
Nilai untuk mengatur variabel lingkungan ke.
Nilai hasil
Mengembalikan 0 jika berhasil, atau kode kesalahan.
Kondisi kesalahan
varname |
value_string |
Nilai hasil |
|---|---|---|
NULL |
any | EINVAL |
| any | NULL |
EINVAL |
Jika salah satu kondisi kesalahan terjadi, fungsi-fungsi ini memanggil handler parameter yang tidak valid, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, fungsi-fungsi ini kembali EINVAL dan diatur errno ke EINVAL.
Keterangan
Fungsi ini _putenv_s 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_s adalah versi karakter luas dari _putenv_s; envstring argumen ke _wputenv_s adalah string karakter lebar.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Pemetaan fungsi teks generik
Fungsi dalam tchar.h kolom memetakan ke fungsi di kolom lain tergantung pada kumpulan karakter yang ditentukan pada waktu kompilasi.
tchar.h fungsi |
_UNICODE dan _MBCS tidak ditentukan |
_MBCS Didefinisikan |
_UNICODE Didefinisikan |
|---|---|---|---|
_tputenv_s |
_putenv_s |
_putenv_s |
_wputenv_s |
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 value_string ditambahkan ke lingkungan. Anda dapat menghapus variabel dari lingkungan dengan menentukan string kosong (yaitu, "") untuk value_string.
_putenv_s dan _wputenv_s hanya memengaruhi lingkungan yang lokal untuk proses saat ini; Anda tidak dapat menggunakannya untuk memodifikasi lingkungan tingkat perintah. Fungsi-fungsi ini hanya beroperasi pada struktur data yang dapat diakses oleh pustaka run-time dan bukan pada lingkungan "segmen" yang dibuat sistem operasi untuk proses. Ketika proses saat ini berakhir, lingkungan kembali ke tingkat proses panggilan, yang dalam kebanyakan kasus adalah 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_s dan _wputenv_s.
Jangan mengubah entri lingkungan secara langsung; sebagai gantinya, gunakan _putenv_s atau _wputenv_s untuk mengubahnya. Secara khusus, elemen bebas langsung dari _environ[] array global dapat menyebabkan memori yang tidak valid ditangani.
getenv dan _putenv_s gunakan variabel _environ global untuk mengakses tabel lingkungan; _wgetenv dan _wputenv_s menggunakan _wenviron. _putenv_s dan _wputenv_s dapat mengubah nilai _environ dan _wenviron, dan dengan demikian 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_s dan ke variabel global, lihat_environ , _wenviron._wputenv_s
Catatan
Keluarga _putenv_s fungsi dan _getenv_s tidak aman utas. _getenv_s dapat mengembalikan penunjuk string saat _putenv_s memodifikasi string, dan dengan demikian menyebabkan kegagalan acak. Pastikan bahwa panggilan ke fungsi-fungsi ini disinkronkan.
Persyaratan
| Rutin | Header yang diperlukan |
|---|---|
_putenv_s |
<stdlib.h> |
_wputenv_s |
<stdlib.h> atau <wchar.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Contoh
Untuk sampel yang menunjukkan cara menggunakan _putenv_s, lihat getenv_s, _wgetenv_s.
Lihat juga
Kontrol proses dan lingkungan
getenv, _wgetenv
_searchenv, _wsearchenv