ページ 11

プログラム応答不可?

Posted: 2015年8月19日(水) 09:07
by Qloeh
昨日fopenの使い方について質問したものです。
fopen_sの条件を修正したところエラーメッセージは出なくなりました。
しかし、ビルドされるのですが、すぐにプログラムが応答しなくなり、強制的に終了されてデバッグの確認は出来ません。パソコンのスペックか、もっと別の問題でしょうか?
コードが必要でしたら必要に応じて順次載せていきます。良かったら解答お願いします

Re: プログラム応答不可?

Posted: 2015年8月19日(水) 09:22
by みけCAT
  • 前のトピックを解決にしてください。
  • これだけでわかるわけないと思います。コードと入力データを載せていただけますか?
【追記】前のトピックは既に解決になっていましたね。申し訳ありませんでした。

Re: プログラム応答不可?

Posted: 2015年8月19日(水) 09:53
by Qloeh
修正したコードはこちらです

コード:

void fileload(void){
	int f, g, h;
	LoadDivGraph("MapChip", 4, 4, 1, 32, 32, mapchip[0]);
	LoadDivGraph("MapChip",192,16,12,32,32,mapchip[1]);
	LoadDivGraph("CharaChip", 12, 3, 4, 32, 32, charachip);
	LoadDivGraph("CharaChip", 12, 3, 4, 32, 32, charachip2);
	FILE*fp;
	if ((fopen_s(&fp,"map.txt", "r")) != 0)
		printf("ファイルをオープンできません\n");
	else{
		f = 0;
		g = 0; while (fscanf_s(fp, "%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d", &map[f][g][0], &map[f][g][1],
			&map[f][g][2], &map[f][g][3], &map[f][g][4], &map[f][g][5], &map[f][g][6], &map[f][g][7], &map[f][g][8],
			&map[f][g][9], &map[f][g][10], &map[f][g][11], &map[f][g][12], &map[f][g][13], &map[f][g][14], &map[f][g][15],
			&map[f][g][16], &map[f][g][17], &map[f][g][18], &map[f][g][19]) == 20){
			g++;
			if (g == 15){
				f = f + 1;
				g = 0;
			}
		}
		fclose(fp);
	}
これ以外は特に変更はしていません。(前はfopen_sがfopen、fscanf_sがfscanで使い方があやふやでした)
エラーはでていないのですが、ビルド開始直後にフリーズし、先程またやってみたところアプリケーションエラーで「0x77e48cdeの命令が0xfefeff06のメモリを参照しました。メモリがreadになることはできませんでした」というメッセージも出てきました。こちらでも調べてはみますがコードの問題ではないのでしょうか?

Re: プログラム応答不可?

Posted: 2015年8月21日(金) 05:25
by へにっくす
掲示されたソースを見る限りでは問題なさそうです。
mapの宣言がないのと、入力データが示されていないので、こちらで検証ができないのでこれくらいしか言えないですよ。

Re: プログラム応答不可?

Posted: 2015年8月21日(金) 21:30
by Qloeh
ありがとうございます。別のプロジェクトで同じコードを実行させてみたら上手くいったので、コード以外の問題だと思います。因みに、上のコードはヘッダー扱いでした。書かなかったのはこちらのミスです。すみませんでした。