strerror, _strerror, _wcserror, __wcserror
Sistem hatası iletisi alıyorum (strerror, _wcserror) veya kullanıcı tarafından sağlanan hata iletisi yazdırır (_strerror, __wcserror). Bu işlevler daha güvenli sürümlerinin kullanılabilir olduğunu; see strerror_s, _strerror_s, _wcserror_s, __wcserror_s .
char *strerror(
int errnum
);
char *_strerror(
const char *strErrMsg
);
wchar_t * _wcserror(
int errnum
);
wchar_t * __wcserror(
const wchar_t *strErrMsg
);
Parametreler
errnum
Hata numarası.strErrMsg
Kullanıcı tarafından sağlanan ileti.
Dönüş Değeri
Tüm bu işlevleri hata iletisi dize bir işaretçi döndürür. Sonraki arama dizesi geçersiz kılabilirsiniz.
Notlar
strerror Eşlemeleri işlev errnum bir hata iletisi dize olarak dize işaretçisi döndürme. Ne strerror ne de _strerror gerçekte iletiyi yazdırır: Bunun için gibi bir çıktı işlevini aramasına gerek fprintf:
if (( _access( "datafile",2 )) == -1 )
fprintf( stderr, _strerror(NULL) );
strErrMsg Olarak geçirilen NULL, _strerror bir işaretçi hata üretilen son Kütüphane çağrısı için sistem hata iletisi içeren bir dize döndürür. Hata iletisi dize yeni satır karakteri ('\n') tarafından sonlandırıldı. strErrMsg Eşit değildir NULL, sonra _strerror bir işaretçi (sırasıyla) dize iletiniz, bir iki nokta üst üste, bir boşluk, hata ve yeni satır karakteri oluşturmanın son Kütüphane çağrısı için sistem hata iletisi içeren bir dize döndürür. Dize iletinizi, en çok, 94 karakter uzunluğunda olabilir.
Gerçek hata numarası _strerror deðiþkeninde saklanan errno. Sistem hata iletileri değişkeni erişilen _sys_errlist, bir dizi hata numarasına göre sıralanmış iletilerin olduğu. _strerrorilgili hata iletisini kullanarak erişen errno değişken 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. Kesin sonuçlar için arama _strerror sonra hemen bir kitaplık yordamı bir hata döndürür. Aksi takdirde, sonraki aramalar için strerror veya _strerror üzerine errno değeri.
_wcserrorve __wcserrorgeniş karakter sürümleri strerrorve _strerror, sırasıyla.
_strerror, _wcserror, ve __wcserrorANSI tanımının bir parçası değildir, ancak bunun yerine Microsoft uzantıları şunlardır. Bunları, burada taşınabilirlik istendiğini kullanmayın; ANSI uyumluluk için kullanmak strerror yerine.
Genel metin yordamı eşlemeleri
TCHAR.H yordamına girildi |
_UNICODE & _mbcs tanımlı değil |
Tanımlanan _mbcs |
Tanımlanan _UNICODE |
---|---|---|---|
_tcserror |
strerror |
strerror |
_wcserror |
Gereksinimler
Yordamı |
Gerekli başlık |
---|---|
strerror |
<string.h> |
_strerror |
<string.h> |
_wcserror, __wcserror |
<string.h> |
Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.
Örnek
Örneğin bakın perror.