* kclib1のページ#1 -(by [[K]], 2019.04.16) ** (1) kerrorExit ** (3) kerrorExit -void kerrorExit(const char *f, ...) --標準エラー出力にメッセージを出力して(printf準拠)、exit(EXIT_FAILURE);します。末尾の改行も省略して書きます。 --エラー処理を少しでも楽にするために用意しています。 ---- -[効果]この関数を使うことで、エラー処理がこんなに簡単になります。 // 使用前 if (p == NULL) { fprintf(stderr, "p is NULL!\n"); exit(EXIT_FAILURE); } // 使用後 if (p == NULL) kerrorExit("p is NULL!"); --4行を要していた記述が、2行になりました!記述が簡単になることでエラー処理を書きやすくなり、それだけセキュリティチェックをする負担が減ることになります。 --もちろんささやかなことではありますが、でもこういうことから積み上げていきたいのです。 ---- -[内部実装] #include <stdio.h> #include <stdlib.h> #include <stdarg.h> void kerrorExit(const char *f, ...) { va_list ap; va_start(ap, f); vfprintf(stderr, f, ap); fprintf(stderr, "\n"); va_end(ap); exit(EXIT_FAILURE); } * こめんと欄 #comment