ComputerVisionまとめの部屋

役に立った情報や調査結果をまとめています

LTPSTRとは

文字型と言ってもいろいろある。

世界中にはいろんな言語があり、アルファベットだけで表されるものではない。
そうするとchar型の配列を使用した文字列だけと1文字=2^3=8ビット=1バイト=256通りの文字しか表わすことができない。

そのため日本語などでは、1文字=2^6=16ビット=2バイトとして、65536通りの文字を表わせるようにしている。これをダブルバイト文字という。

2バイトで表される文字列の中でUnicodeと呼ばれるものがあり、世界中のあらゆる文字を表すのに規格化されたコードである。

Unicodeが定義されているかどうかはOSなどシステムに依存している。プログラムがどんなシステムでも動くようにするためには、システムによる違いを吸収できるような仕組みが必要である。

それがLPTSTR型とかLPCTSTR型というものだ。
この文字型で変数を定義しておけば、システムごとに表示する段階で、Unicodeが定義されているなら2バイト文字のWCHAR型、そうでなければchar型にするなどを勝手にやってくれる。