「Windows API」の版間の差分

wchar_t で宣言する背景事情
(wchar_t で宣言する背景事情)
:「これはテストです。」
(カギ括弧なしの状態で)と表示される。
 
 
* 背景事情
なぜ、このような wchar_t で宣言するという仕組みになってるかというと、
 
もちろん第一の理由は「マイクロソフト社がこういう風に作ってしまったから」であるが(マイクロソフト社の独自規格の問題なので)、
 
もうひとつ別の理由を言うと、
 
「Windowsではシステム内部の(ユーザーからは直接操作できない部分の)文字コードでは(自称)『Unicode』が使われており、
 
一方、Windowsのシステム外部の(ユーザーの操作する)メモ長などのOS付属アクセサリやMSエクセルなどオフィスソフトの標準の文字コードでは(自称)『『ANSI』コードが標準として使われているから」
 
という事情がある。(マイクロソフト社の独自規格は、時代によって変更される可能性があるので(マイクロソフト社の都合により)、変更されても対応できるように、技術的な背景事情を把握しておく必要がある。)
 
 
そして、TextOutなどWin32APIのいくつかの関数では、Windowsのシステム内部では出力文字の管理は Unicode で行っているようである。
 
しかし、Windowsにおけるchar型は、どうやらASCIIコードや自称「ANSI」(Shift-JIS)を前提としてコンパイラ内部で処理しているようである。
 
このため、Windowsシステム内部の「Unicode」とWindowsシステム外部の「ANSI」という、これら2種類の文字コードの調整のため wchar_型 で宣言する手間が生じるようである。
 
 
 
== 参考リンク ==
20,150

回編集