strerror
, _strerror
, _wcserror
, __wcserror
Mendapatkan string pesan kesalahan sistem (strerror
, _wcserror
) atau memformat string pesan kesalahan yang disediakan pengguna (_strerror
, __wcserror
). Versi yang lebih aman dari fungsi-fungsi ini tersedia; lihat strerror_s
, _strerror_s
, _wcserror_s
, . __wcserror_s
Sintaks
char * strerror(
int errnum );
char * _strerror(
const char *strErrMsg );
wchar_t * _wcserror(
int errnum );
wchar_t * __wcserror(
const wchar_t *strErrMsg );
Parameter
errnum
Nomor salah.
strErrMsg
Pesan yang disediakan pengguna.
Nilai hasil
Semua fungsi ini mengembalikan penunjuk ke string pesan kesalahan, dalam buffer penyimpanan lokal utas yang dimiliki oleh runtime. Nantinya panggilan pada utas yang sama dapat menimpa string ini.
Keterangan
Fungsi memetakan strerror
errnum
ke string pesan kesalahan dan mengembalikan penunjuk ke string. Fungsi strerror
dan _strerror
tidak benar-benar mencetak pesan. Untuk mencetak, panggil fungsi output seperti fprintf
:
if (( _access( "datafile", 2 )) == -1 )
fprintf( stderr, _strerror(NULL) );
Jika strErrMsg
diteruskan sebagai NULL
, _strerror
mengembalikan penunjuk ke string. Ini berisi pesan kesalahan sistem untuk panggilan pustaka terakhir yang menghasilkan kesalahan. Jika Anda memanggil __wcserror
, string pesan kesalahan dihentikan oleh karakter baris baru ('\n'
). Fungsi lain tidak menambahkan '\n'
. Saat strErrMsg
tidak NULL
, string berisi, dalam urutan: string Anda strErrMsg
, titik dua, spasi, pesan kesalahan sistem. Pesan string Anda dapat memiliki panjang paling banyak 94 karakter, baik dalam karakter sempit (_strerror
) atau lebar (__wcserror
).
Nomor kesalahan aktual untuk _strerror
disimpan dalam variabel errno
. Untuk menghasilkan hasil yang akurat, panggil _strerror
segera setelah rutinitas pustaka mengembalikan kesalahan. Jika tidak, panggilan nanti ke rutinitas pustaka dapat menimpa errno
nilai.
_wcserror
dan __wcserror
masing-masing adalah versi karakter lebar dan _strerror
strerror
, .
_strerror
, _wcserror
, dan __wcserror
khusus Microsoft, bukan bagian dari pustaka Standard C. Kami tidak menyarankan Anda menggunakannya di mana Anda menginginkan kode portabel. Untuk kompatibilitas Standard C, gunakan strerror
sebagai gantinya.
Untuk mendapatkan string kesalahan, kami merekomendasikan strerror
atau _wcserror
alih-alih makro _sys_errlist
yang tidak digunakan lagi dan _sys_nerr
dan fungsi __sys_errlist
internal yang tidak digunakan lagi dan __sys_nerr
.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Pemetaan rutin teks generik
TCHAR. Rutinitas H | _UNICODE dan _MBCS tidak ditentukan |
_MBCS Didefinisikan |
_UNICODE Didefinisikan |
---|---|---|---|
_tcserror |
strerror |
strerror |
_wcserror |
Persyaratan
Rutin | Header yang diperlukan |
---|---|
strerror |
<string.h> |
_strerror |
<string.h> |
_wcserror , __wcserror |
<string.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Contoh
Lihat contoh untuk perror
.
Baca juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk