VisualStudio2005について(入門者です)

[戻る]
yas 2006/03/01(水) 13:02:17
VC++6.0対応の入門書に記載されているプログラムを2005上でビルドすると、: error 
C2664: 'lstrcpyW' : 1 番目の引数を 'char [80]' から 'LPWSTR' に変換できません。
(新しい機能 ; ヘルプを参照)
        指示された型は関連がありません。変換には reinterpret_cast、C スタイル キ
ャストまたは関数スタイルのキャストが必要です。
となるのはなぜなんでしょうか?長文すみません。

Blue 2006/03/01(水) 13:40:59
VC2005では文字セットがデフォルトで Unicode になります。
一方VC6 は MSBC(Shift_JIS)になっています。

どのように対処すべきかは、こちらのスレを参考にしてみてください。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=26318&forum=7

Ban 2006/03/01(水) 13:44:23
2005の設定が、UNICODEを使っているからです。

VC6の入門書はおそらく char 型ですが、
UNICODE を使う場合は通常 wchar_t という型を使います。
# wchar_t も C++ の(新しい)型です。

Windows の場合、両者に対応するため、TCHAR というマクロ定義を利用することもあります。

yas 2006/03/01(水) 21:38:15
[[解決]]
即回答大変ありがとうございました!問題なく動きました。
これで心置きなく入門書を進めることができます。
またよろしくお願いします!!

古いスレッドには追加発言できません。