strerror()の使い方の理解


1
2
3
4
5
6
7
8
9
10
11
12
13
/* strerror example : error list */
#include 
#include 
#include 

int main ()
{
  FILE * pFile;
  pFile = fopen ("unexist.ent","r");
  if (pFile == NULL)
    printf ("Error opening file unexist.ent: %s
",strerror(errno)); return 0; }

strerror()法はperror()の用法とよく似ている.
前の文(メソッド)の実行後のエラーを標準出力に印刷するためのperror()の使い方について説明します.一般的に(リダイレクトを使用していない場合)、コンソールに出力されます.
しかし、別のプロセスの方法で実行されるエラー、またはbrieflyを理解する必要がある場合は、エラーをファイルに印刷したいのですが、perror()は適切ではありません.
私がさっき言った要求を実現するために、私たちはまずエラーを文字列に入れなければなりません.この時、strerror()がぴったり!
strerror(errno)
まず、システムは、前の文の実行エラーに基づいてerrnoを付与する.この点について、私たちはまず2点を理解します.第一に、errnoはシステム変数であり、私たちが値を付与したり宣言したりする必要はありません.第二に、errnoはintタイプの変数であり、その値は特定のエラータイプに対応する.
そして、streoror()自体については、このように理解できます.名前の通りstreorrror=string+errorとは、errno値をエラータイプを記述するstring文に翻訳することです!