2011年5月3日火曜日

Visual C++の文字セット設定を、マルチバイト文字セットにする方法 - Visual C++

Visual C++
○2010 Express
Visual C++では、_tmain などの書式を正しく使ってコードを書くと、ビルド時に設定を切り替える事で、2種類の文字コードに対応させる事が出来ます。
o UNICODE(UTF-16)で書かれた文字列を処理するプログラム(= 既定の設定)
o 言語設定に依存する文字セットで書かれた文字列を処理するプログラム
    + 日本語の場合は、Shift-JIS(cp932)です。

なお、文字セットの切り替え効果があるのは、_tmainなどの _t系機能だけです。
    + 直接マルチバイト処理用の機能を使っている箇所は、文字セット切り替えの影響を受けません。


**** 手順
o 上のメニューから「プロジェクト(P)」-「(プロジェクト名)のプロパティ」
o 「プロパティページ」画面が出てきますので、
    + 左上の「構成」選択肢を「すべての構成」に変更します。
    + 左のメニューから、「構成プロパティ」-「全般」
    + 右側で、「文字セット」の右隣「Unicode 文字セットを使用する」をクリックします。
    + 欄の右側にV印が現れますので、V印をクリックします。
    + 選択肢が出てきますので、「マルチ バイト文字セットを使用する」に変更します。
    + 設定が終わりましたら、右下にある「OK」ボタンを押します。


**** メモ
o マルチバイト文字セットを使ったプログラムは、CHCPコマンドと併用する事で、UTF-8などの各種文字セットに対応させる事が出来そうです。但し、特定の文字セットに依存しないコードを書く必要があります。
o _tmainなどの _t系機能は、Visual C++の独自仕様です。
    + 他のシステムに移植する時は、マクロなどを使って置き換える必要があります。


**** 確認したバージョン
o Microsoft Visual C++ 2010 Express


==
関連ページ:
    ▼Visual C++
    ▼コンピューター・プログラムを作る
    ▼制作メモ
    ▼目次
    > 新規作成したプロジェクトからstdafx.hを完全に外す方法
    Win32コンソールアプリケーションをランタイム不要にする方法
(2011年5月4日変更。「コンパイル」を「ビルド」に置き換え)