Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

構造体と多重配列を使うと、コマンド入力形式の実行ファイルもキレイに書けます

よくあるコマンド入力型の実行ファイルをCで作る場合のTipsです。
何も考えず取り掛かると、string.hの各種関数に頼ったり……果ては

if (str[0] == 'h' && str[1] == 'l' && .... ) {
 hello(argc, argv[]);
}
...

などと、混沌としたコードになりかねません。*1

ちょいとマクロを書いてあげるのも手ですが、
ここは上手い人の知恵を拝借して、structと多重配列を使った一工夫加えると、比較的きれいに書けます。

実例


https://gist.github.com/shuzo-kino/6634743#file-sample-c

備考

以上のコードは、gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)にて確認しました。

*1:上記元ネタは中国の外注さんから来た神コード