2つのエラー関数の使用方法


#include "apue.h"
#include <errno.h>

int main(int argc,char *argv[])
{
	fprintf(stderr,"EACCES: %s
",strerror(EACCES)); errno=ENOENT; perror(argv[0]); exit(0); }
 
コンパイル:
gcc -o stderror stderror.c
実行:
./stderror
結果:
EACCES: Permission denied ./stderror: No such file or directory
プログラムの説明:
プログラムのargv[0]は./stderrorは、perrorにパラメータとして渡されます.これは標準的なUNIX慣例です.この方法を使用すると、プログラムがパイプラインの一部として実行される場合、例えば、次のようになります.
prog1 < inputfile | prog2 | prog3 > ouputfile
3つのプログラムのうちどれが特定のエラーメッセージを生成したかを明らかにすることができます.