'지도'배열을 만들었으며 '지도'파일에서 배열을 채우려고합니다. 창조에 나는 다음과 같은 값을 '0'배열의 각 요소지만 '지도'파일을 포함 할당합니다파일에서 배열 채우기가 작동하지 않습니다.
MAP : 나는 'loadMap()'
를 사용하여지도를로드0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
loadMap() :이 예에서
void room::loadMap()
{
int x=0;
int y=0;
string line;
ifstream mapFile(NAME + "_MAP.txt");
while(!mapFile.eof())
{
for(int i=0; i<cellsY; i++)
{
getline(mapFile,line,'\n');
for(int j=0; j<cellsX; j++)
{
getline(mapFile,line,' ');
map[(cellsX*j) + cellsY] = atoi(line.c_str());
};
};
}
y = 10;
x = 15;
for(int i=0; i<y; i++)
{
cout << endl;
for(int j=0; j<x; j++)
{
cout << map[(x*j) + y];
};
};
}
요소가 여전히 '0'으로 지정됩니다,하지만 난지도 파일의 레이아웃을 모방하려합니다.
검색 StackOverflow "read file eof". –
왜'getline'을 사용하고 있습니까? 이것은'file >> 변수를 사용하는 좋은 경우입니다. –
파일이 실제로 성공적으로 열려 있습니까? –