>>472
Unicodeの場合、2バイトで1文字を表現
@@AABBCCDDEEFFGGHH で9文字、18バイト
ANSIの場合、
@ABCDEFGH で9文字、9バイト
> sizeof(buf)/sizeof(TCHAR)
sizeof(buf)が指すのはバイト数、Unicodeなら18、ANSIなら9
sizeof(TCHAR)が指すのは1文字のバイト数、Unicodeなら2、ANSIなら1
そして stprintf_s の引数 sizeOfBufferはバイト数ではなく「格納する最大文字数」であること
引数がバイト数ならsizeof(buf)でいいけど、引数が文字数を求めているならsizeof(buf)ではおかしくなる
上の例で言えば、Unicodeは18バイト9文字で本来は9とするところを18と指定してしまうことになる
すると関数側はバッファが18文字分(バイトで32バイト)あると勘違いするわけでバッファオーバーフローを起こす
sizeof(buf)/sizeof(TCHAR) は18バイトの領域があって、それを1文字のバイト数で割って「9文字」ということ
探検
C言語なら俺に聞け 163
■ このスレッドは過去ログ倉庫に格納されています
476デフォルトの名無しさん
2024/12/17(火) 00:02:56.65ID:KLd2kDAJ0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国空母、太平洋で訓練……日本・防衛省発表 [少考さん★]
- 日中対立、打開策見えず 高市氏答弁1カ月、影響拡大 [蚤の市★]
- 働いて働いて働いても生活は…円安に歯止めが掛からず生活は苦しくなるばかり…サナエノミクスの限界で「高市不況」がやってくる ★6 [ぐれ★]
- 小林よしのり 日中関係、来年は「ますます日本は不利に」「加害者の分際で被害者ぶって、中国が横暴だと毅然と振る舞っても滑稽なだけ」 [冬月記者★]
- 2026年はゲーム機やPC、スマホが一斉値上げか メモリ大手ブランド「Crucial」廃止の衝撃 [樽悶★]
- 『DOWNTOWN+』2回目生配信で松本の実兄・松本隆博が登場し共演 [jinjin★]
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1821
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap613
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1820
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap612
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1821
- 2025/2026 Formula E Lap.1
- 脳みそ🧠スッカスカバカ無職集会所🏡
- ぼく「アニメ映画の『ペリリュー〜楽園のゲルニカ〜』見てみるか」→「ジャ〜ップジャプジャプジャアアアアップ!!」 [268718286]
- 【画像】兎田ぺこーら主催マイクラ企画の参加メンバーwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
- おバカなリズム🎶とおバカなダンス💃で、サタデーナイト🌃にバカテンポ🏡
- 日本人が戦争したがってる中国、ガチで強い模様…なぜ日本人は強気なの? [819729701]
- 陰陽座の代表曲ってなに
