マップのロード
Posted: 2011年8月28日(日) 16:56
以前、セーブファイルの作り方でお世話になりました。
今回、2Dマップの構造をエクセル形式のファイルから読み取る関数を作ろうとしていたのですが、
class MAPの持つ変数map_wide,map_lengthに値が入りません。
ブレークポイントを作って確認してみたのですが、
まずファイルをちゃんと読みこんでいるのかの確認の仕方がわかりませんし、
map_wideについても-858993664などという値になって確実に読み込みに失敗しています。
以下のコードのどこが問題なのかを教えてください。
ファイル入出力についてはいまだに疎いです。
"sample.csv"についてはファイル添付の仕方がわかりませんでしたので、内容だけコピペしますと、
20,24,32,32,1,8
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
255,255,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,255,255
255,255,49,49,49,49,49,49,49,255,255,49,49,49,49,49,49,49,255,255
255,255,49,49,49,49,49,49,49,255,255,49,49,49,49,49,49,49,255,255
255,255,49,49,49,49,49,49,49,255,255,49,49,49,49,49,49,49,255,255
255,255,49,49,49,49,49,49,49,255,255,49,49,49,49,49,49,49,255,255
255,255,49,49,49,49,49,49,49,255,255,49,49,49,49,49,49,49,255,255
255,255,49,49,49,49,49,49,49,0,0,49,49,49,49,49,49,49,255,255
255,255,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,255,255
255,255,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,255,255
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
255,255,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,255,255
255,255,51,51,51,51,51,51,51,255,255,51,51,51,51,51,51,51,255,255
255,255,51,51,51,51,51,51,51,255,255,51,51,51,51,51,51,51,255,255
255,255,51,51,51,51,51,51,51,255,255,51,51,51,51,51,51,51,255,255
255,255,51,51,51,51,51,51,51,255,255,51,51,51,51,51,51,51,255,255
255,255,51,51,51,51,51,51,51,255,255,51,51,51,51,51,51,51,255,255
255,255,51,51,51,51,51,51,51,255,255,51,51,51,51,51,51,51,255,255
255,255,51,51,51,51,51,51,51,1,1,51,51,51,51,51,51,51,255,255
255,255,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,255,255
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
です。
よろしくお願いします。
今回、2Dマップの構造をエクセル形式のファイルから読み取る関数を作ろうとしていたのですが、
class MAPの持つ変数map_wide,map_lengthに値が入りません。
ブレークポイントを作って確認してみたのですが、
まずファイルをちゃんと読みこんでいるのかの確認の仕方がわかりませんし、
map_wideについても-858993664などという値になって確実に読み込みに失敗しています。
以下のコードのどこが問題なのかを教えてください。
ファイル入出力についてはいまだに疎いです。
void Map::map_load()
{
ifstream ifs;
ifs.open("sample.csv");
ifs.getline((char*)&map_wide,sizeof(int),',');//マップの幅読み込み
ifs.getline((char*)&map_length,sizeof(int),',');//マップの高さ読み込み
ifs.ignore(INT_MAX,'\n');
}
20,24,32,32,1,8
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
255,255,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,255,255
255,255,49,49,49,49,49,49,49,255,255,49,49,49,49,49,49,49,255,255
255,255,49,49,49,49,49,49,49,255,255,49,49,49,49,49,49,49,255,255
255,255,49,49,49,49,49,49,49,255,255,49,49,49,49,49,49,49,255,255
255,255,49,49,49,49,49,49,49,255,255,49,49,49,49,49,49,49,255,255
255,255,49,49,49,49,49,49,49,255,255,49,49,49,49,49,49,49,255,255
255,255,49,49,49,49,49,49,49,0,0,49,49,49,49,49,49,49,255,255
255,255,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,255,255
255,255,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,255,255
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
255,255,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,255,255
255,255,51,51,51,51,51,51,51,255,255,51,51,51,51,51,51,51,255,255
255,255,51,51,51,51,51,51,51,255,255,51,51,51,51,51,51,51,255,255
255,255,51,51,51,51,51,51,51,255,255,51,51,51,51,51,51,51,255,255
255,255,51,51,51,51,51,51,51,255,255,51,51,51,51,51,51,51,255,255
255,255,51,51,51,51,51,51,51,255,255,51,51,51,51,51,51,51,255,255
255,255,51,51,51,51,51,51,51,255,255,51,51,51,51,51,51,51,255,255
255,255,51,51,51,51,51,51,51,1,1,51,51,51,51,51,51,51,255,255
255,255,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,255,255
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
です。
よろしくお願いします。