スレを勃てるまでもないC/C++の質問はここで 25 [隔離病棟]©2ch.net (467レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
404
(1): デフォルトの名無しさん [sage] 2024/03/11(月)02:18 ID:rRWPOaAF(1/2)
strlen()が数え間違えるので、自前でchar*単位で回して数えた。解決。
後になって、それはどう考えてもおかしいだろとコメントアウトしていたstrlen()を戻したら、ちゃんと正常動作していた。

実は今、ブレークポイントを設定していない箇所・・・しかも特定の位置で実行停止すると言う(私は)経験のない事例に困惑しきりで、どこかmalloc()失敗していてメモリ喰い破っているのかな・・・と見直しているのですが、見付からず。
一般論として、ポインタ周りが怪しい、ですよねえ・・・。
それ以外の可能性として、どんな事があるでしょうか。
環境はMicrosoft Visual Studio Community 2022のC++ですが、C言語&DXライブラリで書いています。
407: 404 [sage] 2024/03/19(火)19:03 ID:qI3ILkQW(1)
>>406
エラーや警告は一切ありませんでした。
と言うか解決した今だから言えますが、私が馬鹿でした。

ええと、構造体ポインタに構造体の実体を代入していました。 そらヒープエリアも突き破るってもんで。
こんな感じ。

struct AAA data[2];
struct AAA *aaa;    // *ではなく**
aaa=(struct AAA*)malloc( sizeof(struct AAA*) *2):
aaa[0]=data[0];    // &data[...
aaa[1]=data[1];    // &data[...

プログラムは、(間違った)意図通りにちゃんと動いていたみたいです(笑)。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.026s