色々なサイトを参考にマップチップを読み込むソースを書いてみましたが、上手くロード出来てないようです。
みなさんの意見をお聞かせ下さい。
以下ソース
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です
