掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
バッファオーバーフローの解決法 (ID:56623)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 動的確保ということはGlobalAlloc()とかを使って > 該当する変数の領域を広げると言うことでしょうか? 静的確保(注:static変数という意味では無い。参考 http://www.ncad.co.jp/~komata/c-kouza5.htm )した領域を 広げることは出来ません。 (C99規格なら可能…なのかな?どっかで見たけど。) char szAtFile[TEMP_MAX]のように固定的に確保するのではなく、 ポインタを用意して確保して下さい。 例えば、char *lpAtFile とでもして、読み込み時に動的確保します。 もちろん、不要になったら解放する必要があります。 > ここの所(ファイルを開く部分)は猫でも分かるのファイル読み込みを > 使ってるだけなので、それ以外での使い方がいまいち分かりません。(T_T) メモリの動的確保はいろいろなところで使われますのでしっかり理解しておいた方がいいと思われます。 参考 http://www.ncad.co.jp/~komata/c-kouza6.htm (↑内容見るとUNIXなどのX-Window関係とおぼしき関数名が出てた入りしますが。) 猫でものC言語編 第33章とか。 他にも… http://www.google.co.jp/search?hl=ja&c2coff=1&q=%E3%83%A1%E3%83%A2%E3%83%AA+%E5%8B%95%E7%9A%84%E7%A2%BA%E4%BF%9D&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja でいっぱい見つけられるでしょう。 # 読み込み時に動的確保しているので、保持したまま渡した方が # 内容をコピーする分の時間とメモリが節約できると思いますが。 # コレのウィンドウが複数開くことがなければstatic変数を使うことで # わりと簡単に対応できます。static変数の代りにグローバル変数でも可能だけど。 ## あまし関係ないけど、GlobalLock()/GlobalUnlock()とかが面倒でGPTRとか使う(爆) ## というか最近はもっぱらHeapAlloc()とかの方だけど。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.