マルチバイト文字の文字数検索について。

[戻る]
snow_man 2000/11/09(木) 14:19:47
関数_mbstrlenでマルチバイト文字の文字数を取得するのと、同じ関数を自作で作りたいと思います。マルチバイト文字かどうかの検索はどのようにすればわかるのでしょうか?教えて下さい。

ku 2000/11/10(金) 13:53:39
char szInput[100] = "文字列test";
for (int n = 0; szInput[n] != '\0'; n++) {
    if (IsDBCSLeadByteEx(932, szInput[n]) != FALSE) {
        // マルチバイト文字
        n++;
    } else {
        // シングルバイト文字
    }
}
こんな感じでチェックできますよ.
ただし文字列の先頭から順々に見ていかないと正確な判断はできません.
(マルチバイト文字の2バイト目とシングルバイト文字で
いくつかのコードが重なっているからです)

古いスレッドには追加発言できません。