警報システムでも作ろうかなぁ。
健康観察管理システムも、一応完成して、後は実際に運用してみて、テストするしかなくなった。
実際開発をすると、本当はここからが、苦しい戦いだけど、別に商品にする必要もないので、そこまで品質にはこだわっていない。だから、セッション管理もなんにもしていない。動けばいいし。というノリである。フールセーフもフェールセーフも実装しない。
というわけで、次に何をしようか考えた。
この前K察の講習で、「不審者がきたときには、教職員に出来るだけ多く、知らせることが必要。」といわれて、どうやって子どもを守りながらしらせるんか。という質問に、「ガラスを割りまくれ」と言っていた。
でもよぉーく考えたらガラスを割ってもさすがに隣のクラスと、上の階と下の階までしか届かない。職員室は50m以上は運動場を隔てて離れているしなぁ。まぁ割りまくったらさすがに分かるけど。
もっとエレガンスな方法はないかと考えた。校内LANでネットワークごしに、教室のマシンにエマージェンシーキーをつけたらいいのでは?と考えた。
で、結構これは大規模なシステムになると思って、[普段も使えるように文字チャットも、音声チャットも付け加えたい]ログを吐き出すクラスが必要と考えた。
ログを吐き出すたえには、wsprintfで、文字の書式を整えてからファイルに吐き出すのが面倒。
会社に言ってたときには、独自のクラスがあって、それに pLog->message()とかできたはず。
で、可変個の引数を受け取る方法を調べたら、あった。で、printfのラッパークラスでログ出力を実現することにする。
プリミティブには、はてなの過去質問を発見した。
C言語で、関数の可変引数について教えてください。(環境:SH4… - 人力検索はてな
これでかなり、勝利に近づいた。
今日中に完成させたいなぁ。
#include#include #include int ConsolePrint; void dprintf( const char *arg, ...) { char* p; va_list ap; va_start( ap, arg ); if (ConsolePrint){ vprintf( arg, ap ); } else{ vfprintf( stderr, arg, ap ); } va_end( ap ); } main( const int argc, char** argv ) { ConsolePrint = 1; dprintf(” data = [%d]¥n”, 10 ); ConsolePrint = 0; dprintf(” data = [%d]¥n”, 10 ); }