色々なサイトを参考にマップチップを読み込むソースを書いてみましたが、上手くロード出来てないようです。
みなさんの意見をお聞かせ下さい。
以下ソース
void LoadMap( _MapData *Mapdata ) { int fp; //ファイルポインタ const int maxstrnum = 700 ; //読み込む最大行内文字数 char inputstr[maxstrnum] ; //読みとった文字列を格納する変数 char inputc; //読みとった文字が改行やEOFか判定する変数 int i = 0 , j = 0 , num ; fp = FileRead_open( "maptest.csv" ); if( ( fp = FileRead_open( "maptest.csv" ) ) == NULL ) { printfDx( "ファイルのオープンに失敗しました。\nデータファイルの位置やファイル名を確認しましょう。" ) ; WaitTimer( 3000 ) ; DxLib_End(); //終了処理 } while(1) { for( num = 0 ; num < maxstrnum ; num++ ) { inputstr[num] = inputc = FileRead_getc( fp ) ; //1文字取得する //スラッシュがデータにあるとき if( inputc == '/' ) { while( FileRead_getc( fp ) != '\n' ) ; //改行までループ num = -1 ; continue; } //カンマか改行なら if( inputc == ',' || inputc == '\n' ) { inputc = '\0' ; //そこまでを文字列とする break; } //ファイルの終わり if( inputc == EOF ) { goto EXFILE ; //終了 } } //int型の数値を読み取る場合 Mapdata->mapdata[j] = strtol( inputstr , NULL , 10 ) ; //読みとった文字を数字に変換(3番目の引数は10進数を使用するため10) j++; if( j == MAP_WIDTH ) { j = 0 ; i++; } } EXFILE: FileRead_close( fp ) ; }
環境はVS2008Proです。 よろしくお願いします。
添付ファイルはマップのCSVです
