1. ホーム
  2. c++

[解決済み] TCHARはまだ意味があるのか?

2022-03-12 21:44:12

質問

Windowsプログラミングの初心者なのですが、Petzoldの本を読んで疑問に思ったことがあります。

を使用することは良い習慣なのでしょうか? TCHAR 型と _T() 関数を使って文字列を宣言するのか、それとも wchar_tL"" の文字列を新しいコードで使用できますか?

Windows 2000 以降を対象とし、コードは次のようになります。 国際化 を起動したところから始まります。

どのように解決するのですか?

今日も新しいプロジェクトをやるなら、TCHAR構文を使うでしょう。WCHAR構文と大差はありませんし、文字型が明示されているコードの方が好きだからです。ほとんどのAPI関数やヘルパーオブジェクトはTCHAR型(例:CString)を利用するので、これを使うのは理にかなっていると思います。さらに、いつかASCIIアプリでこのコードを使うことになったとき、あるいはWindowsがUnicode32に進化したときなどにも、柔軟性を持たせることができます。

もし、WCHARのルートを取ることに決めたら、私はそれを明示的にします。つまり、CStringの代わりにCStringWを使用し、TCHARに変換する際にはキャスト・マクロを使用します(例:CW2CT)。

とにかく、これが私の意見です。