フォーマット
#include <stdio.h> void perror(const char *string);
言語レベル: ANSI
スレッド・セーフ: はい。
説明
perror() 関数は、エラー・メッセージを stderr に出力します。 string が NULL ではなく、ヌル文字を指示しない場合には、string によって指示されたストリングは、標準エラー・ストリームに出力され、その後ろにコロンとスペースが続きます。次に、errno の値と関連したメッセージが出力され、その後ろに改行文字が続きます。
正確な結果を得るには、エラーのあるライブラリー関数が戻った直後に perror() 関数を必ず呼び出してください。そうでないと、後続の呼び出しにより errno 値が変更されることがあります。
戻り値
戻り値はありません。
errno の値は、次のいずれかに設定されます。
perror() の使用例
この例では、ストリームを開こうと試みます。 fopen() が失敗した場合、この例ではメッセージが出力されてからプログラムが終了します。
#include <stdio.h> #include <stdlib.h> int main(void) { FILE *fh; if ((fh = fopen("mylib/myfile","r")) == NULL) { perror("Could not open data file"); abort(); } }
関連情報