掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ゼロで初期化された文字列のサイズを知るには? (ID:67067)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
tetrapodへ。 >TCHAR* p=new TCHAR [100]; >size_t n=GetLength(p); >とやっても 100 は得られないよー どういうことですか? 自分のではうまくいってしまいましたけど? たしかにAPI関数なんかでも、文字列へのポインタと、そのサイズも指定させる関数って多いですね。何か意味があるんでしょうか? わざわざ引数でポインタが指し示すメモリ領域のサイズまで要求しなくても、関数の中でそのサイズを取得して、それが足りないようならエラーを返すとか、そういう方法のほうが呼び出し側からすると楽かなぁと・・ 確かにGlobalSizeがGlobalAllocで要求したメモリサイズとは違う値を返すことはありますけど、これって必ずGlobalAllocで指定したバイト数よりも大きいものになってますよね。多分ページサイズ(?とでも言うんでしょうか?)とかなにかの境界までウンヌンということだったと思うんですが。 大きければ問題ないのでは?と思うのは素人考えでしょうか・・・ 確保したメモリ領域よりは、少なくとも小さな領域にしかアクセスしない場合でも>バッファーオーバーランという状態になるんでしょうか? なんか不安
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.