おそらく2回目のアドレス関係でだめだと思うのですが、どこが悪いのでしょうか?
void load_enemy_data(){
int num,i,fp;
char fname[32]={"../dat/csv/story.csv"};
int input[64];
char inputc[64];
// 実態を作る。
enter_enemy_t *new_enter_enemy;
enter_enemy_t *now_enter_enemy;
fp = FileRead_open(fname);//ファイル読み込み
if(fp == NULL){
printfDx("read error\n");
return;
}
for(i=0;i<2;i++)//最初の2行読み飛ばす
while(FileRead_getc(fp)!='\n');
num=0;
new_enter_enemy = new enter_enemy_t;
new_enter_enemy->next=NULL;
// 最初の処理なら。
if( head_enter_enemy==NULL ) {
// 最初の敵データ
head_enter_enemy = new_enter_enemy;
}
else
{
// リストの最後を探す。
now_enter_enemy = head_enter_enemy;
while( now_enter_enemy->next!=NULL ) {
now_enter_enemy = now_enter_enemy->next;
}
// リストの最後に接続する。
now_enter_enemy->next = new_enter_enemy;
//now_enter_enemy=NULL;
}
while(1){
for(i=0;i<64;i++){
inputc=input=FileRead_getc(fp);//1文字取得する
if(inputc=='/'){//スラッシュがあれば
while(FileRead_getc(fp)!='\n');//改行までループ
i=-1;//カウンタを最初に戻して
continue;
}
if(input==',' || input=='\n'){//カンマか改行なら
inputc='\0';//そこまでを文字列とし
break;
}
if(input==EOF){//ファイルの終わりなら
goto EXFILE;//終了
}
}
switch(num){
case 0: new_enter_enemy->count =atoi(inputc);break;
case 1: new_enter_enemy->pattern =atoi(inputc);break;
case 2: new_enter_enemy->knd =atoi(inputc);break;
case 3: new_enter_enemy->x =atof(inputc);break;
case 4: new_enter_enemy->y =atof(inputc);break;
case 5: new_enter_enemy->spd =atof(inputc);break;
case 6: new_enter_enemy->wait =atoi(inputc);break;
}
num++;
if(num==7){
num=0;
//new_enter_enemy =NULL;
new_enter_enemy = new enter_enemy_t;
new_enter_enemy->next=NULL;
// 最初の処理なら。
if( head_enter_enemy==NULL ) {
// 最初の敵データ
head_enter_enemy = new_enter_enemy;
}
else
{
// リストの最後を探す。
now_enter_enemy = head_enter_enemy;
while( now_enter_enemy->next!=NULL ) {
now_enter_enemy = now_enter_enemy->next;
}
// リストの最後に接続する。
now_enter_enemy->next = new_enter_enemy;
//now_enter_enemy=NULL;
}
}
}
EXFILE:
FileRead_close(fp);
}