昨日fopenの使い方について質問したものです。
fopen_sの条件を修正したところエラーメッセージは出なくなりました。
しかし、ビルドされるのですが、すぐにプログラムが応答しなくなり、強制的に終了されてデバッグの確認は出来ません。パソコンのスペックか、もっと別の問題でしょうか?
コードが必要でしたら必要に応じて順次載せていきます。良かったら解答お願いします
プログラム応答不可?
Re: プログラム応答不可?
- 前のトピックを解決にしてください。
- これだけでわかるわけないと思います。コードと入力データを載せていただけますか?
最後に編集したユーザー みけCAT on 2015年8月21日(金) 08:05 [ 編集 1 回目 ]
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: プログラム応答不可?
修正したコードはこちらです
これ以外は特に変更はしていません。(前はfopen_sがfopen、fscanf_sがfscanで使い方があやふやでした)
エラーはでていないのですが、ビルド開始直後にフリーズし、先程またやってみたところアプリケーションエラーで「0x77e48cdeの命令が0xfefeff06のメモリを参照しました。メモリがreadになることはできませんでした」というメッセージも出てきました。こちらでも調べてはみますがコードの問題ではないのでしょうか?
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);
}
エラーはでていないのですが、ビルド開始直後にフリーズし、先程またやってみたところアプリケーションエラーで「0x77e48cdeの命令が0xfefeff06のメモリを参照しました。メモリがreadになることはできませんでした」というメッセージも出てきました。こちらでも調べてはみますがコードの問題ではないのでしょうか?
Re: プログラム応答不可?
掲示されたソースを見る限りでは問題なさそうです。
mapの宣言がないのと、入力データが示されていないので、こちらで検証ができないのでこれくらいしか言えないですよ。
mapの宣言がないのと、入力データが示されていないので、こちらで検証ができないのでこれくらいしか言えないですよ。
written by へにっくす
Re: プログラム応答不可?
ありがとうございます。別のプロジェクトで同じコードを実行させてみたら上手くいったので、コード以外の問題だと思います。因みに、上のコードはヘッダー扱いでした。書かなかったのはこちらのミスです。すみませんでした。