CでUTF-8文字列を扱う

思いつきとリハビリの意味を込めて、学生時代に作成したプログラム(カナ文字列を1文字ずつに分解してさらに音素情報を付与してごにょごにょする)をUTF-8化した。以前はEUC-JPで文字列を扱っていたので、入力文字列を2バイトずつ読み込めば良かったのだけど、UTF-8はバイト数が一定でなく文字のチェックが非常に面倒。
しかし世の中には上手いことを考える人がいるもので、非常に簡単かつ高速な方法が下記サイトにて紹介されていた。

CでUTF-8を扱う 民芸的プログラミング 〜ソフトウェア開発日記〜/ウェブリブログ via UTF-8 の文字列を一文字ずつ区切る - mooz deceives you

Perlが如何に楽かということを再認識した(笑)。