Je crée un jeu et j'ai stocké les données cartographiques dans un tableau bidimensionnel de taille [34] [10]. Au départ, je généré la carte en utilisant une fonction simple pour remplir le tableau et enregistré ces données dans un fichier en utilisant le code suivant:Chargement du texte d'un fichier dans un tableau bidimensionnel (C++)
ofstream myFile;
myFile.open("map.txt");
for (int y = 0 ; y < MAP_HEIGHT ; ++y)
{
for (int x = 0 ; x < MAP_WIDTH ; ++x)
{
myFile << m_acMapData[x][y];
}
myFile << '\n';
}
myFile.close();
Cette sortie un fichier texte qui ressemble à ce que je veux. Cependant, lorsque je tente de le relire en utilisant le code suivant, je reçois une charge de violations d'accès et il se bloque lors de l'exécution:
ifstream myFile;
int i=0;
int j=0;
char line[MAP_WIDTH];
myFile.open("map.txt");
while (!myFile.eof())
{
myFile.getline(line, MAP_WIDTH);
for (i=0; i<MAP_WIDTH; i++)
{
m_acMapData[i][j] = line[i];
}
++j;
cout << line;
}
Est-ce que quelqu'un sait quel est le problème?
ce qui est 'm_acMapData', comment est-il déclaré et initialisés? – atzz