C標準エラー処理関数fprintfとprintf
3433 ワード
ソースコードには、次のエラー処理関数がよく表示されます.
一、errno
ヘッダファイル:#include
関数プロトタイプ:errno
機能:システムの最後のエラーコードを記録する
パラメータ:なし
戻り値:エラーコード(整数値)
例:
二、strerror strerror_r
ヘッダファイル:#include
関数のプロトタイプ:
char *strerror(int errnum);
char *_strerror(const char *strErrMsg);
wchar_t * _wcserror(int errnum);
wchar_t * __wcserror(const wchar_t *strErrMsg);
パラメータ:errnum-エラーコード、strErrMsg-ユーザーが提供する情報.
戻り値:エラー情報へのポインタ.
三、perror
ヘッダファイル:
#include< stdio.h >
#include
関数のプロトタイプ:
void perror(const char *s);
perror ("open_port");
関数の機能:
perror()は、前の関数でエラーが発生した原因を標準デバイス(stderr)に出力するために使用されます.パラメータsが指す文字列は先に印刷され、エラー原因文字列が追加されます.このエラーの原因は、グローバル変数errnoの値に基づいて出力する文字列を決定します.
ライブラリ関数にerrno変数があり、各errno値は文字列で表されるエラータイプに対応します.「いくつかの」関数を呼び出すとエラーが発生し、errnoの値が再設定されました.perror関数は、入力した情報と現在のerrnoに対応するエラーを出力するだけです.
≪パラメータ|Parameters|ldap≫:ユーザーが入力した文字列
戻り値:なし
例:
四、fprintfとprintf
#include
int fprintf(FILE *stream,const char *format,…);
formatフォーマットに従ってstreamストリームにパラメータを送信します.
int printf(const char *format,…);
標準出力装置からデータのセットを出力します.
一、errno
ヘッダファイル:#include
関数プロトタイプ:errno
機能:システムの最後のエラーコードを記録する
パラメータ:なし
戻り値:エラーコード(整数値)
例:
1
2
3
4
5
if((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {
fprintf(stderr, "errno = %d
", errno);
exit(1);
}
printf("Socket opened successfully
");
//errno 。
二、strerror strerror_r
ヘッダファイル:#include
関数のプロトタイプ:
char *strerror(int errnum);
char *_strerror(const char *strErrMsg);
wchar_t * _wcserror(int errnum);
wchar_t * __wcserror(const wchar_t *strErrMsg);
パラメータ:errnum-エラーコード、strErrMsg-ユーザーが提供する情報.
戻り値:エラー情報へのポインタ.
1
2
3
4
5
if((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {
fprintf(stderr, "errno = %d
", errno);
fprintf(stderr, "Error description is : %s
",strerror(errno));
exit(1);
}
//strerror(errno) errno , fprintf 。
三、perror
ヘッダファイル:
#include< stdio.h >
#include
関数のプロトタイプ:
void perror(const char *s);
perror ("open_port");
関数の機能:
perror()は、前の関数でエラーが発生した原因を標準デバイス(stderr)に出力するために使用されます.パラメータsが指す文字列は先に印刷され、エラー原因文字列が追加されます.このエラーの原因は、グローバル変数errnoの値に基づいて出力する文字列を決定します.
ライブラリ関数にerrno変数があり、各errno値は文字列で表されるエラータイプに対応します.「いくつかの」関数を呼び出すとエラーが発生し、errnoの値が再設定されました.perror関数は、入力した情報と現在のerrnoに対応するエラーを出力するだけです.
≪パラメータ|Parameters|ldap≫:ユーザーが入力した文字列
戻り値:なし
例:
1
2
3
4
5
6
7
8
if(( sockfd = socket(AF_INET,SOCK_DGRAM,0))<0)
{
perror("myError");
exit(1);
} else
{
printf("socket created successfully!
");
}
// myError( perror ), errno 。
// ,stderr 。
四、fprintfとprintf
#include
int fprintf(FILE *stream,const char *format,…);
formatフォーマットに従ってstreamストリームにパラメータを送信します.
int printf(const char *format,…);
標準出力装置からデータのセットを出力します.