デバッグ後のエラーが出てしまいどうやればエラーを回避できるのかわかりません教えていただけませんでしょうか?
#pragma once //fとはfileを示す class STAGE { public: struct {//二つ作ってるのは計算用と描画用 int Typ[STAGE_MAX_X][STAGE_MAX_Y];//数字を書いてそれに適応させるようにする0がblock 1がキャラという風に int Typ_Exp[POS_MAX_X][POS_MAX_Y]; }Blo; void Read() { FILE* fp_stage_1_1; fp_stage_1_1 = fopen("stage_1_1.txt", "r"); //"r" Read //'w' write(all) //'a' write(add) int i = 0; for (int y = 0; y < STAGE_MAX_Y; y++) { for (int x = 0; x < STAGE_MAX_X; x++) { (void)fscanf_s(fp_stage_1_1, "%d", &Blo.Typ[x][y]); } } fclose(fp_stage_1_1); } void Out(int* PosX) { int pic = 0; for (int x = 0; x < STAGE_MAX_X; x++) { for (int y = 0; y < STAGE_MAX_Y; y++) { switch (Blo.Typ[x][y]) { case 0: pic = Pic.Bac; break; case 1: pic = Pic.Blo0; break; case 2: pic = Pic.Blo1; break; case 3: pic = Pic.Blo2; break; case 4: pic = Pic.Ene; } DrawGraph(CELL * x * *PosX, CELL * y, pic, TRUE); } } } private: }; STAGE Sta;
多分テキストファイルがエラーだと思うのですが合っているでしょうか?メモ帳でやっているのですがこれをした方がいいというのはありますでしょうか?
ご教授していただきありがとうございます
本当に申し訳ありません試したことを書くのを忘れてしまい、指摘されてしまいました
fp_stage_1_1の部分でエラーが起きているみたいで原因はfp_stage_1_1らしいのですが、メモでの数字に何かエラーになるようなことが起きてしまったということなのでしょうか?メモ帳の書式の問題なのでしょうか?そこでの原因がデバッグした後、中止再試行無視、という選択肢ができ再試行を押したらfp_stage_1_1の値が0×00000000000000<NULL>となっていたためエラーがその部分であることが判明したのですが、そのファイルの何が問題なのかがつかめずじまいになってしまいました。そしてエラーっぽいと思われる場所に写真の赤丸の所にブレークポイントを設定して続行を押したら
ハンドルされない例外が 0x00007FF70B86175C (GameProg.exe) で発生しました: 無効なパラメーターを致命的と見なす関数に無効なパラメーターが渡されました。
ハンドルされていない例外、というエラーっぽいものになりこれをどうすればいいか、教えてもらえませんでしょうか?その場所というのが
(void)fscanf_s(fp_stage_1_1, "%d", &Blo.Typ[x][y]); →}
この波括弧部分であったり、fclose()をforloopの上にやればそこが例外がスローされました、というエラーぽいものに変わってしまうため共通するのがfp_stage_1_1なのですが、ここから行き詰ってしまいどうしたらいいのでしょうか?
回答3件
あなたの回答
tips
プレビュー