UTF-8をコードポイントに分解する まずはじめに、コマンドライン引数で入力された文字列を、コードポイントごとに表示するプログラムを作成します。 UTF-8からコードポイントを求める方法は、Wikipedia で説明されているとおりです。 注意: 以下の説明は、Windowsでは動作しません。Linux, FreeBSD, MacOSX (またはCygwin)で試してください。 #include <stdio.h> /** * next_codepoint(&ptr); * ptrを、次のコードポイントの位置に動かす */ static int next_codepoint(const char **pp) { const char *p = *pp; int c = -1; if (*p == 0) { } else if ((*p & 0x80) == 0) { c = *p++ &