C言語 エラーメッセージの画面表示 - stdio.h - [ perror ]

2008.10.20 Monday | by LRESULT


ラーメッセージを画面へ表示するには、perror()を使用します。

以前は、エラー番号[ errno ]を取得し、strerror()からエラーの内容を取得していましたが、
今回は、一発でエラー内容を画面へ表示する関数です。


perror
書式 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 は、ファイルが無いというエラーメッセージで、
次のエラーは、自分でエラー内容を追加したものと、
本来のエラーメッセージが「:(コロン)」で結ばれて表示されます。

カテゴリ:C言語 stdio.h | 22:44 | comments(0) | trackbacks(0) | -


コメントする











この記事のトラックバックURL

トラックバック機能は終了しました。

トラックバック