掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ユニコードで、半角⇔全角を置き換えるには (ID:67833)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>ところが、ユニコードライブラリを使っていると、(LPCSTR)ss1が通らないらしく、LCMapStringの行で、 >'CString' から 'LPCSTR' に変換できません。 >というエラーになります。 もともとのコードからCStringを使っているのにもかかわらず、LPCSTRを使っていたのがまずかったのです。 CStringの場合は、LPCTSTRを使ってください。 (MBCSの場合はLPCSTRに、UNICODEの場合はLPCWSTRになる) というか、勝手にoperator LPCTSTRが呼ばれるので明にキャストする必要はないのですけどね。 私なら、 CString strResult; const int nLength = strSrc.GetLength() * 2 + 1; ::LCMapString(LOCALE_USER_DEFAULT, LCMAP_FULLWIDTH, strSrc, -1, strResult.GetBuffer(nLength), nLength); strResult.ReleaseBuffer(); こんな感じでオワ。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.