ファイル操作で構造体をしよう…
Posted: 2007年8月21日(火) 22:01
構造体を使用して、敵と味方のデータを簡単に変更できる様にするため、テキストファイルからデータを読込む
そして、配布時にデータを変更されないように .dat ファイルとして保存してそれから読込むようにしようと考えてやっています。
.dat ファイルへの書き込みは character.cpp で成功していると思うのですが、読込んでもらえません。
読込み予定ファイルは、chara.dat enemy.dat です。
main.cppで enemy_status(); と chara_status(); の順番を逆にすると表示がエラーになるのが関係しているのかもしれませんが、
そちらのエラーの原因も見つけることが出来ませんでした。
どうかよろしくお願いします。
--以下問題があると思われそうなところ--
--Save.cpp--内の関数(読込み処理を行っているところ)--
void Load_Every_Status()
{
FILE *fout_chara, *fout_enemy;
char r_f_c_name[/url] = "chara.dat";
char r_f_e_name[/url] = "enemy.dat";
int count;
int i;
if( (fout_chara = fopen(r_f_c_name, "r")) == NULL) {
printf("キャラクターデータの読み込みに失敗しました。");
exit(1);
}
if( (fout_enemy = fopen(r_f_e_name, "r")) == NULL) {
printf("敵データの読み込みに失敗しました。");
exit(1);
}
fseek(fout_chara, -1L, SEEK_END);
fscanf(fout_chara, "%d", &count);
#if SAVE
printf("c_count = %d\n",count);
#endif
fread(C, sizeof(STATUS), count, fout_chara);
fseek(fout_enemy, -1L, SEEK_END);
fscanf(fout_enemy, "%d", &count);
#if SAVE
printf("e_count = %d\n",count);
#endif
fread(E, sizeof(STATUS), count, fout_enemy);
fclose(fout_chara);
fclose(fout_enemy);
}