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

Baca juga

Kontrol proses dan lingkungan
clearerr
ferror
strerror, _strerror, _wcserror, __wcserror