#### Archived

This topic is now archived and is closed to further replies.

# simple map file reading problems

This topic is 5146 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Hi guys, first the problem. I''m working on a way to read a map file that simply stores the height of each space on the board. I read the first two numbers which are the width and height of the board in spaces, use these numbers to create a 2D array. Then I want to read the rest of the numbers into this array I just created. here is the code thus far.
#include <fstream.h>
#include <iostream>

using namespace std;

main()
{
int** map;
int row, column;
int hexheight;
char c;

fstream FILE;

FILE.open("hexboard.txt", ios::in);

FILE >> column >> row;

cout << column << endl << row << endl;

map = new int* [column];

for(int i=0; i>column; i++)
{
map[i] = new int [row];
}

cout << "array created..." << endl;

for(int x = 0; x < row; x++)
{
for(int y = 0; y < column; y++)
{
FILE >> hexheight;
cout << hexheight;
map[x][y] = hexheight;
}
cout << endl;
}

FILE.close();

cin >> c;

}

the stuff i''m using in the text file is as follows, and it''s named hexboard.txt
5
6
3 1 1 1 1
1 1 2 2 1
1 1 2 3 2
1 1 2 2 1
1 1 2 1 1
1 1 1 1 1

as it''s printing out the heights, it gets as far as the 3rd row, second column in before it just kinda freezes. Things I suspect are the way I created the 2D map array, and maybe the way fstream works. If you could get me pointed in the right direction I''d be most grateful! Thanks! Nel

##### Share on other sites
There are a few problems with this.

1) Don''t mix old style iostream headers with new style iostream headers. i.e. change fstream.h to just fstream.

2) You access your map array by [row][column], but you create it [column][row] in the nested for loop.

3) When you dynamically create your map array you use "i > column" This should probably be a < (and probably change column to row (see above) ).

4) You never free the memory allocated for the map array.