質問: 全角英数字のみ半角英数字にするには。 visualc++6.00 を使用しています。 ダイアログのエディットボックスで入力された文字を、 全角英数字のみ半角英数字にしたいのですが、 lcmapstring だと、カタカナも半角になってしまいます。 英数字のみ半角にするには、どのようにすればいいでしょうか。 よろしくお願いします。
回答: ......#1 さん、質問よく読もうよ。「visualc++6.00」って書いてあるでしょ? その人に .net での解決法を教えてどうするんだよ......。 まあ、「正規表現をつかえ」という意見はもっともなんですが。 というわけで vc6.0 で正規表現を使うにはどうしたらいいかですが、やはり boost の正規表現が一番手っ取り早いのではないかとおもいます。 http://www.boost.org/ 英語が読めるのであれば、以下のページで書かれている regex_replace を使って #1 さんご呈示のプログラムを書き換えるのは簡単かと思います。 http://www.boost.org/doc/libs/1_57_0/libs/regex/doc/html/boost_regex/ref/regex_replace.html