C言語 エラーメッセージの画面表示 - stdio.h - [ perror ]
2008.10.20 Monday | by LRESULT
エラーメッセージを画面へ表示するには、perror()を使用します。
以前は、エラー番号[ errno ]を取得し、strerror()からエラーの内容を取得していましたが、
今回は、一発でエラー内容を画面へ表示する関数です。
書式 | void perror( const char *s ) |
---|---|
機能 | 標準エラー出力(画面)にエラーメッセージを表示 (エラーメッセージはエラー番号に対応した文字列です) |
引数 | const char *s : エラーメッセージに追加表示する文字列 NULLを指定すると、エラーメッセージのみ表示します。 |
戻り値 | なし |
存在しないファイルの「unknown.txt」を読み込んだ際の、エラーメッセージと 「test.txt」を読み込みモードで開き、書き込もうとした際の、エラーメッセージを確認してみます。 |
---|
#include <stdio.h> int main(void) { FILE *fp1; FILE *fp2; char *fname1 = "unknown.txt"; char *fname2 = "test.txt"; fp1 = fopen( fname1, "r" ); if( fp1 == NULL ){ perror( NULL ); } fp2 = fopen( fname2, "r" ); if( fp2 == NULL ){ return -1; } fputc( 'A', fp2 ); perror( "Aを出力しようとした" ); fclose( fp2 ); return 0; } |
No such file or directory Aを出力しようとした: Bad file descriptor |
---|
と、いうように表示されるはずです。 最初のfp1 は、ファイルが無いというエラーメッセージで、 次のエラーは、自分でエラー内容を追加したものと、 本来のエラーメッセージが「:(コロン)」で結ばれて表示されます。 |