none
MBCSとUNICODE変換 RRS feed

  • 質問

  • お世話になります。

    テクニカル ノート 59: MFC の MBCS/Unicode 変換マクロの使用
    (http://msdn.microsoft.com/ja-jp/library/805c56f8(v=vs.80).aspx)

    を学習中なのですが、

    ここでは、

    MultiByteToWideChar

    を使用せずにマクロ(A2Wなど)を使用することのメリットを記述しているのですが、
    そのメリットの中で、

    UNICODEでのビルド時には、上記関数(MultiByteToWideChar)を使用した場合は、
    変換を必要としないことあるため#ifdefsを使用する必要があるが、
    マクロを使うことで、そのような記述を必要せずに実装できます的な内容が記述されているのですが、

    下記は、MBCSのコンパイルでは成功しますが、UNICODEでは失敗します。
    USES_CONVERSION;

    LPTSTR lp = _T("あいうえおかきくけこ");
    LPWSTR lpT = A2W( lp );

    結局、#ifdefsで囲む必要が出てくると思うのですが、解釈が間違っているのでしょうか。

    2013年2月5日 7:57

回答

  • まずURLを挙げられたページは古いものです。冒頭にも

    次のテクニカル ノートは、最初にオンライン ドキュメントの一部とされてから更新されていません。結果として、一部のプロシージャおよびトピックが最新でないか、不正になります。最新の情報について、オンライン ドキュメントのキーワードで関係のあるトピックを検索することをお勧めします。

    と警告されています。

    本題のA2Wについては先のスレッドでも指摘しました。回答を読む前に次の質問をするとこういうことになるのでやめてください。

    • 回答の候補に設定 佐祐理 2013年2月6日 0:41
    • 回答としてマーク 佐伯玲 2013年2月12日 5:55
    2013年2月5日 8:14

すべての返信

  • まずURLを挙げられたページは古いものです。冒頭にも

    次のテクニカル ノートは、最初にオンライン ドキュメントの一部とされてから更新されていません。結果として、一部のプロシージャおよびトピックが最新でないか、不正になります。最新の情報について、オンライン ドキュメントのキーワードで関係のあるトピックを検索することをお勧めします。

    と警告されています。

    本題のA2Wについては先のスレッドでも指摘しました。回答を読む前に次の質問をするとこういうことになるのでやめてください。

    • 回答の候補に設定 佐祐理 2013年2月6日 0:41
    • 回答としてマーク 佐伯玲 2013年2月12日 5:55
    2013年2月5日 8:14
  • 申し訳ございません。。。
    2013年2月6日 0:25