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 strerrorerrnum 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.

_wcserrordan __wcserror masing-masing adalah versi karakter lebar dan _strerrorstrerror , .

_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

Manipulasi string
clearerr
ferror
perror, _wperror