新石器Wiki

近年はシリコン(石)から進化した便利なもので溢れる時代。そんな気になった事や試した事など記す。

ユーザ用ツール

サイト用ツール


programing:cpp_builder:cpp_builder-lcmapstring


**文書の過去の版を表示しています。**

C++Builder 全角→半角 変換

Unicodeの全角文字を半角文字に変換するようにしたので備忘録を残す。

コーディング例

Windows APIの LCMapString 関数を使って変換する。

 
    DWORD flags = LCMAP_HALFWIDTH;	// 半角文字に変換
    const int size = len + 1;
        if (size < 128) {		// バッファに入る時だけ変換する
            s = _msgbuff;
            LCMapString(GetUserDefaultLCID(),
                flags,
                text.c_str(),
                size,
                (LPWSTR)s,		// 変換した文字列の格納先
                size);
            s[len] = 0;
        }
        else {
            s = text.c_str();
        }
 
        ShowMessage(s);			/* for debug */

参考

programing/cpp_builder/cpp_builder-lcmapstring.1580803896.txt.gz · 最終更新: 2020/02/04 17:11 by yoko