perror
, _wperror
Mencetak pesan kesalahan.
Sintaks
void perror(
const char *message
);
void _wperror(
const wchar_t *message
);
Parameter
message
Pesan string untuk dicetak.
Keterangan
Fungsi mencetak perror
pesan kesalahan ke stderr
. _wperror
adalah versi karakter luas dari _perror
; message
argumen ke _wperror
adalah string karakter lebar. _wperror
dan _perror
berulah secara identik jika tidak.
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 |
---|---|---|---|
_tperror |
perror |
perror |
_wperror |
message
dicetak terlebih dahulu, diikuti oleh titik dua, kemudian oleh pesan kesalahan sistem untuk panggilan pustaka terakhir yang menghasilkan kesalahan, dan akhirnya oleh karakter baris baru. Jika message
adalah penunjuk null atau penunjuk ke string null, perror
hanya mencetak pesan kesalahan sistem.
Nomor kesalahan disimpan dalam variabel errno
(ditentukan dalam ERRNO. H). Pesan kesalahan sistem diakses melalui variabel _sys_errlist
, yang merupakan array pesan yang diurutkan berdasarkan nomor kesalahan. perror
mencetak pesan kesalahan yang sesuai menggunakan errno
nilai sebagai indeks ke _sys_errlist
. Nilai variabel _sys_nerr
didefinisikan sebagai jumlah maksimum elemen dalam _sys_errlist
array.
Untuk hasil yang akurat, panggil perror
segera setelah rutinitas pustaka mengembalikan kesalahan. Jika tidak, panggilan berikutnya dapat menimpa errno
nilai.
Dalam sistem operasi Windows, beberapa errno
nilai yang tercantum dalam ERRNO. H tidak digunakan. Nilai-nilai ini dicadangkan untuk digunakan oleh sistem operasi UNIX. Lihat errno
, , _sys_errlist
_doserrno
, dan _sys_nerr
untuk daftar nilai yang errno
digunakan oleh sistem operasi Windows. perror
mencetak string kosong untuk nilai apa pun yang errno
tidak digunakan oleh platform ini.
Persyaratan
Rutin | Header yang diperlukan |
---|---|
perror |
<stdio.h> atau <stdlib.h> |
_wperror |
<stdio.h> atau <wchar.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Pustaka
Semua versi pustaka run-time C.
Contoh
// crt_perror.c
// compile with: /W3
/* This program attempts to open a file named
* NOSUCHF.ILE. Because this file probably doesn't exist,
* an error message is displayed. The same message is
* created using perror, strerror, and _strerror.
*/
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <io.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <share.h>
int main( void )
{
int fh;
if( _sopen_s( &fh, "NOSUCHF.ILE", _O_RDONLY, _SH_DENYNO, 0 ) != 0 )
{
/* Three ways to create error message: */
perror( "perror says open failed" );
printf( "strerror says open failed: %s\n",
strerror( errno ) ); // C4996
printf( _strerror( "_strerror says open failed" ) ); // C4996
// Note: strerror and _strerror are deprecated; consider
// using strerror_s and _strerror_s instead.
}
else
{
printf( "open succeeded on input file\n" );
_close( fh );
}
}
perror says open failed: No such file or directory
strerror says open failed: No such file or directory
_strerror says open failed: No such file or directory
Lihat juga
Kontrol proses dan lingkungan
clearerr
ferror
strerror
, , _strerror
_wcserror
,__wcserror
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