No.2ベストアンサー
- 回答日時:
結論から言えば「ソースコードをいっさい修正せずにUnicode対応をするためのマクロ」です。
lstrcpy()の第2引数の型は、char*ではなく「LPCTSTR」型になってますよね。_T()は、文字列をchar*型ではなくLPTSTR型にするマクロです。(LPCTSTRはconstなLPTSTR)
では、LPTSTRとは何か。これはTCHAR型へのポインタです。ではTCHARは何か。
TCHARは次のように定義されています。
#ifdef _UNICODE
typedef wchar_t TCHAR;
#else
typedef char TCHAR;
#endif
つまり、マクロ定数「_UNICODE」が定義されていればTCHARの正体はwchar_t、そうでなければcharになります。
char型に日本語文字を入れたとき、ご存知のようにシフトJISコードにされて入ります。一方、wchar_tに入れたときにはUnicodeで入ります。
最近のWindowsソフトは国際化のために、内部文字コードにUnicodeを使うことが多くなっています。いまはシフトJISを使っているソフトでも、将来はUnicodeに移行することが見込まれます。
しかしUnicodeに移行するときに、ソースをいちいち修正していては大変です。そこで、文字列はあらかじめ_T()で囲っておくのです。
コンパイルオプション「/D "_UNICODE"」でマクロ定数を立てて再コンパイルしてやれば、即、Unicodeへの移行が完了するというわけです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語の質問です、プログラミング初心者です このような文字列があった場合 "abcdef☆ghijk 4 2022/11/22 10:56
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- 友達・仲間 Twitterで疎外感を感じてます 2 2023/02/24 10:28
- 食べ歩き ラーメンにおけるこってり 3 2023/06/18 18:41
- 大学受験 高校英語についてです。 関係代名詞について質問です。 例えば I don't like storie 1 2022/08/20 16:27
- カップル・彼氏・彼女 「いつかいけたらいいね!」は行く気ある?? マッチングアプリで出会い交際4ヶ月の彼女が居ます。 本人 2 2023/08/27 16:16
- うつ病 うつ病のブレインフォグ的な感じで、考えられなくなり天然のやうな感じになることってありますか? 大学か 1 2023/08/02 11:41
- 哲学 感情と態度をどのように分けて説明しますか? 7 2023/06/05 04:54
- 流行・カルチャー ホントに時代は変わったよね 2 2022/11/06 14:43
- うつ病 うつ病について。 3 2023/02/05 02:58
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
VC++ 2008 EXPRESS _T"識別子がみつかりません"
C言語・C++・C#
-
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
DWORDの実際の型は何でしょうか
C言語・C++・C#
-
-
4
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
5
charからLPTSTRへの変換方法
C言語・C++・C#
-
6
GetPrivateProfileStringでiniファイル読込む処理を詳しく知りたいのですが・・・
C言語・C++・C#
-
7
UpdateData( FALSE); による文字列データの表示更新(VC++6.0)
C言語・C++・C#
-
8
_T('\\0') これはどういう意味でしょうか?
C言語・C++・C#
-
9
std::stringからLPCWSTR型への変換
C言語・C++・C#
-
10
適切な変換関数が存在しない???
C言語・C++・C#
-
11
エラー:インクルードファイル 'afx.h' をオープンできない などで困っています
C言語・C++・C#
-
12
VC++から引数付きexeファイルの実行
C言語・C++・C#
-
13
_tcscpy_s(wcscpy_s)の第二引数って
C言語・C++・C#
-
14
Debug Assertion Failed?
C言語・C++・C#
-
15
CStringとString
C言語・C++・C#
-
16
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
17
WaitForSingleObjectの使い方について
C言語・C++・C#
-
18
エディットボックスの入力制限について
C言語・C++・C#
-
19
メッセージハンドラ
C言語・C++・C#
-
20
c++,ある関数のクラスから別のクラスの関数を呼ぶ
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
メッセージボックスのOKボタ...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
一つのTeratermのマクロで複数...
-
EXCELのVBAでRange("A1:C4")を...
-
エクセルに張り付けた写真のフ...
-
ExcelVBAでPDFを閉じるソース
-
ExcelのVBA。public変数の値が...
-
Excel VBAからAccessマクロを実...
-
エクセルのマクロをセルの値に...
-
EXCELマクロでのThisisWor...
-
VBA初心者 Ctrl+での操作、ボタ...
-
ピボットテーブルでの毎回可変...
-
VBAのIF分で時間指定の条件式の...
-
TERA TERMを隠す方法
-
マクロ実行時、ユーザーフォー...
-
エクセルで別のセルにあるふり...
-
ソース内の行末に\\
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
他人が作ったマクロの理解
-
ExcelVBAでPDFを閉じるソース
-
TERA TERMを隠す方法
-
エクセルで別のセルにあるふり...
-
マクロ実行時、ユーザーフォー...
-
Excel VBAからAccessマクロを実...
-
EXCELのVBAでRange("A1:C4")を...
-
TeraTermマクロの文字列結合
-
PDF出力マクロについて。マクロ...
-
#defineの定数を文字列として読...
-
エクセルのマクロをセルの値に...
-
wordを起動した際に特定のペー...
おすすめ情報