「Windows API/文字表示の命令」の版間の差分

削除された内容 追加された内容
windowsAPIプログラミングの標準的な文字列型は TCHAR 型です。(char型は入門者には、おすすめできません。特殊な用途では char 型も使う。)
多重配列の場合を記述
200 行
== 文字列型 ==
windowsAPIプログラミングの標準的な文字列型は TCHAR 型です。(char型は入門者には、おすすめできません。特殊な用途では char 型も使う。)
 
TCHR型の宣言は、
<code>
TCHAR moji[40] = TEXT("おはよう");
</code>
 
のようになります。
 
<code>moji[40]</code>の数値「40」の意味は、「文字列長が英数字の40文字ぶんまで」という意味です(日本語だと20文字ぶんになるかもしれません)。
 
TCHR 型を用いたサンプルコードなどについては、後述の節を参照してください。
345 ⟶ 354行目:
 
標準C言語(無印C言語)からの変更点は、「 TEXT("%s %s") 」のように、「TEXT( )」 で囲まれるのを忘れないようにしてください。
 
== 文字列の多重配列 ==
TCHAR型の配列は、下記のようになります。
 
<syntaxhighlight lang=c>
TCHAR syouhinName[3][40] = {
TEXT("牛乳"),
TEXT("オレンジジュース")
};
</syntaxhighlight>
 
宣言の配列の見た目が<code>[3][40]</code>と二重配列なので、ついつい初心者は初期値を代入する際の記述も二次元配列にしがちですが、
 
しかし最後の <code>[40]</code> は文字列長を意味するので、<code>syouhinName[3][40]</code>初期値の書き方は1次元配列のようになります。このような規則は何もwindowsAPIプログラミングに限らず、一般のC言語プログラミングでも同様です(同様に、char型での多重配列の宣言時の最後の数値は文字数を意味する。)
 
上記例のように、TCHAT 宣言時の配列は2次元配列の書式であっても、TextOut など利用時には次元が一段階だけ下がるので書式は1次元配列でアクセスすることになるので、注意してください(初心者はよく間違えてエラーになり悩む)。