programing:cpp_builder:cpp_builder-lcmapstring
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| programing:cpp_builder:cpp_builder-lcmapstring [2020/02/04 17:11] – yoko | programing:cpp_builder:cpp_builder-lcmapstring [2026/07/28 13:16] (現在) – 外部編集 127.0.0.1 | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | C++Builder 全角→半角 変換 | + | ====== |
| - | ========================= | + | |
| Unicodeの全角文字を半角文字に変換するようにしたので備忘録を残す。 | Unicodeの全角文字を半角文字に変換するようにしたので備忘録を残す。 | ||
| - | コーディング例 | + | ===== コーディング例 |
| - | ------------- | + | |
| Windows APIの `LCMapString` 関数を使って変換する。 | Windows APIの `LCMapString` 関数を使って変換する。 | ||
| <code c> | <code c> | ||
| + | Char buff[130]; | ||
| + | PChar s: | ||
| + | | ||
| + | String text = L" | ||
| + | int len = text.Length(); | ||
| + | | ||
| + | // DWORD flags = LCMAP_FULLWIDTH; | ||
| + | DWORD flags = LCMAP_HALFWIDTH; | ||
| + | // DWORD flags = LCMAP_HIRAGANA; | ||
| + | // DWORD flags = LCMAP_KATAKANA; | ||
| - | |||
| - | DWORD flags = LCMAP_HALFWIDTH; | ||
| const int size = len + 1; | const int size = len + 1; | ||
| - | | + | |
| - | s = _msgbuff; | + | s = buff; |
| - | LCMapString(GetUserDefaultLCID(), | + | LCMapString(GetUserDefaultLCID(), |
| flags, | flags, | ||
| text.c_str(), | text.c_str(), | ||
| 行 20: | 行 26: | ||
| (LPWSTR)s, | (LPWSTR)s, | ||
| size); | size); | ||
| - | | + | |
| - | } | + | } |
| - | else { | + | else { |
| - | s = text.c_str(); | + | s = text.c_str(); |
| - | } | + | } |
| - | | + | |
| </ | </ | ||
| - | 参考 | + | ===== 参考 |
| - | ---- | + | |
| - | 1. [[https:// | + | - [[https:// |
| - | 2. [[http:// | + | |
programing/cpp_builder/cpp_builder-lcmapstring.1580803896.txt.gz · 最終更新: by yoko
