perror, _wperror
Bir hata iletisi yazdırır.
void perror(
const char *string
);
void _wperror(
const wchar_t *string
);
Parametreler
- string
Yazdırmak için dize iletisi.
Notlar
perror İşlevi bir hata iletisi yazdırır stderr. _wperrorgeniş karakter sürümü _perror; string bağımsız değişkeni _wperror bir geniş karakter dizesidir. _wperrorve _perror Aksi takdirde aynı şekilde davranır.
Genel metin yordamı eşlemeleri
TCHAR.H yordamına girildi |
_UNICODE & _mbcs tanımlı değil |
Tanımlanan _mbcs |
Tanımlanan _UNICODE |
---|---|---|---|
_tperror |
perror |
perror |
_wperror |
stringilk olarak, bir iki nokta üst üste ardından sistem hata iletisi hata üretilen son Kütüphane çağrısının yazdırılır ve son olarak bir yeni satır karakteri tarafından. string Bir null işaretçi veya boş bir dize işaretçisi perror yalnızca sistem hata iletisi yazdırır.
Hata numarasını deðiþkeninde depolanýr Hata No (errno içinde tanımlanmıştır.H). Sistem hata iletileri değişkeni erişilen _sys_errlist, bir dizi hata numarasına göre sıralanmış iletilerin olduğu. perrorilgili hata iletisini kullanarak yazdırır errno için dizin değeri _sys_errlist. Değişkenin değeri _sys_nerr en fazla öğe sayısı olarak tanımlanan _sys_errlist dizi.
Doğru sonuç almak için çağrı perror sonra hemen bir kitaplık yordamı bir hata döndürür. Aksi durumda, sonraki çağrılar üzerine errno değeri.
Bazı Windows işletim sistemi errno değerleri listelenen HATANO içinde.H kullanılmamış. Bu değerler, UNIX işletim sistemi tarafından kullanılmak üzere ayrılmıştır. Bkz: _doserrno, errno, _sys_errlist ve _sys_nerr bir listesi için errno Windows işletim sistemi tarafından kullanılan değerleri. perrorboş bir dize için herhangi bir baskı errno değeri Bu platformlar tarafından kullanılmaz.
Gereksinimler
Yordamı |
Gerekli başlık |
---|---|
perror |
<stdio.h> veya <stdlib.h> |
_wperror |
<stdio.h> veya <wchar.h> |
Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.
Kitaplıkları
Tüm sürümleri c çalışma zamanı kitaplıkları.
Örnek
// 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 );
}
}
Çıktı
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
.NET Framework Eşdeğeri
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri.