エラーメッセージ
標準ライブラリーで使われるエラー番号 errno、これの定義はもちろん errno.h にある。
標準エラー出力に errno の値を %d あたりで出力してしまってから、 errno.h やら asm-generic/errno-base.h を眺めてどんなエラーかを翻訳する…ということをしがちな自分への覚え書きだ。
#include <stdlib.h> ... perror(__FUNCTION__);
標準エラー出力が使えないような端末でファイルにダンプしたいとか、そんな場合は strerror を使って翻訳する。
#include <errno.h> #include <stdio.h> #include <string.h> ... char buf[256]; snprintf(buf, sizeof(buf), "ERROR in function %s: %s (%d)" , __FUNCTION__, strerrror(errno), errno); ...